ORACLE MASTER Silver SQL 26ai辞書・タイムゾーン・月末の結果オリジナル・公式資料照合難易度★★★☆☆
Oracle AI Database 26aiでNLS_CALENDAR=GREGORIANとする。次のA、Bをそれぞれ独立して評価する。結果の説明はどれか。表示形式はYYYY-MM-DDとする。 A: DATE '2026-01-31' + INTERVAL '1' MONTH B: ADD_MONTHS(DATE '2026-01-31',1)
A
AもBも2026-02-28
ADD_MONTHSの月末調整を、INTERVAL加算にも同じように適用している。
B
Aは2026-03-03、Bは2026-02-28
INTERVALの1 MONTHを固定31日の日数として加算することはできない。
C
Aは日付エラー、Bは2026-02-28★ 正解
存在しない日付を生むINTERVAL加算と、ADD_MONTHSの月末調整の違いである。
D
AもBも日付エラー
ADD_MONTHSは入力が月末の場合などに結果の月末へ調整するので、このBは有効な日付を返す。
解説
月数INTERVALの加算で存在しない2月31日になると、無効な日付としてエラーになる。ADD_MONTHSは月末や翌月の日数を考慮し、この例では翌月末の2026-02-28を返す。両者を常に同じ月末調整と考えない。
根拠資料・確認情報
対応範囲:ORACLE MASTER Silver SQL 26ai(1Z0-171-JPN)
資料確認日:2026-10-30
同じレッスンの問題
問題 1
Oracle AI Database 26aiでCREATE TABLE meta_t(id NUMBER NOT NULL,note VARCHAR2(12))を実行した。表は空で、システム生成列や追加制約はない。USER_TAB_COLUMNSをTABLE_NAME='META_T'で絞り、COLUMN_ID順にCOLUMN_NAME、DATA_TYPE、NULLABLEを表示する。出力はどれか。
問題 2
Oracle AI Database 26aiのt(ts TIMESTAMP WITH LOCAL TIME ZONE)に、TO_TIMESTAMP_TZ('2026-10-30 10:00:00 +09:00','YYYY-MM-DD HH24:MI:SS TZH:TZM')の値を1行だけ登録した。同じ行をTO_CHAR(ts,'YYYY-MM-DD HH24:MI')で表示する。セッションTIME_ZONEを+09:00から+00:00へ変える前後の表示はどれか。