ORACLE MASTER Silver SQL 26ai文字・数値・日付と型変換オリジナル・公式資料照合難易度★★★☆☆
Oracle AI Database 26aiで次を実行する。入力は示したASCII文字で、コロンの前後に追加の空白はない。返る文字列はどれか。 SELECT SUBSTR(UPPER('ab-cd'), 4, 2) || ':' || LENGTH('') AS result FROM dual;
A
CD:★ 正解
SUBSTRがCD、コロンがそのまま連結され、NULLとの連結ではこの非NULL部分が残ります。
B
NULL
算術式と違い、この連結では非NULLの文字列部分が残ります。列全体がNULLになる計算ではありません。
C
CD:0
LENGTHの対象は26aiでNULLとして扱われる空文字列です。数値0が返るわけではありません。
D
AB:
SUBSTRの開始位置は1ではなく4です。AB-CDの4文字目はCになります。
解説
UPPERの結果はAB-CDで、4文字目から2文字はCDです。26aiでは空文字列はNULLとして扱われ、LENGTHの結果もNULLです。連結は通常の算術NULL伝播と異なり、ここでは残りのCD:が返ります。将来版でも空文字列が常に同じ扱いとは一般化しません。
根拠資料・確認情報
対応範囲:Oracle AI Database 26ai SQL Associate(1Z0-171-JPN)
資料確認日:2026-10-29
同じレッスンの問題
問題 2
Oracle AI Database 26aiで次の列を順に評価する。入力はNUMBERの数値リテラルであり、BINARY_FLOAT/BINARY_DOUBLEへの変換はない。値の組はどれか。
SELECT ROUND(145.65, -1), TRUNC(145.65, 1), MOD(17, 5)
FROM dual;
問題 3
Oracle AI Database 26aiで、NLS_CALENDARはGREGORIANとする。次の2列の値はどれか。DATEはタイムゾーンを持たず、ここでは時刻表示も明示形式で行う。
SELECT DATE '2026-03-01' - DATE '2026-02-27' AS days,
TO_CHAR(DATE '2026-03-01' + 3/24, 'YYYY-MM-DD HH24:MI') AS later
FROM dual;
問題 4
Oracle AI Database 26aiでNLS_CALENDAR=GREGORIAN、NLS_DATE_FORMAT='DD-MON-RR'である。文字列2026-07-04を、西暦2026年7月4日のDATE値へ明示的に変換したい。日付文字列の暗黙変換に依存しない式はどれか。
入力文字列: '2026-07-04'