文字からDATEに変換される文字列と書式で日、月、または年が省略されている場合、システムはターゲットのDATE値のデフォルト値を使用します。
文字列から省略されているもの | システムが使用する値 |
---|---|
日 | 値1 (月の最初の日)。 |
月 | 値1 (1月)。 |
年 | 現在の年(現在のセッションのタイムゾーンで) |
次のテーブルについて考察します。
CREATE TABLE date_log (id INTEGER ,start_date DATE ,end_date DATE ,log_date DATE);
次のINSERT文は、3つの文字列をDATE値に変換します。最初の文字列では日が省略され、2番目と3番目の文字列ではそれぞれ、月と年が省略されています。現在は1992年であると仮定しましょう。
INSERT date_log (1001 ,CAST ('January 1992' AS DATE FORMAT 'MMMMBYYYY') ,CAST ('1992-01' AS DATE FORMAT 'YYYY-DD') ,CAST ('01/01' AS DATE FORMAT 'MM/DD'));
INSERT文の結果は、以下のようになります。
SELECT * FROM date_log; id start_date end_date log_date ----------- ---------- -------- -------- 1001 92/01/01 92/01/01 92/01/01