単一行関数を使用した出力のカスタマイズ8

以下のSQL文で、どのような結果が返されますか。

SELECT UPPER(SUBSTR('DatabaseExamLab',9)) FROM dual;

AExamLab
Bexamlab
CEXAMLAB
DDatabase
EDATABASE
FDATABASEE
解説正答:C

ファンクションは内側から順に評価されます。

ステップ1: SUBSTR('DatabaseExamLab', 9)

SUBSTR(string, size [,length]) は、文字列を size 文字目から length 文字数分切り取るファンクションです。length を省略すると末尾まで取得します。

DatabaseExamLab の9文字目以降を取得すると ExamLab になります。

D  a  t  a  b  a  s  e  E  x  a  m  L  a  b
1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
                        ↑ ここから末尾まで

ステップ2: UPPER('ExamLab')

UPPER(string) で文字列を大文字に変換し EXAMLAB になります。

結果:

EXAMLAB