TO_DATE 関数
TO_DATE は、文字列で表記された日付を DATE データ型に変換します。
注記
TO_DATE は、Q (四半期番号) の形式の文字列をサポートしていません。
構文
TO_DATE(string, format)
TO_DATE(string, format, is_strict)
引数
- string
-
変換する文字列。
- format
-
入力の文字列をその日付部分に基づいて定義する文字列リテラル。有効な日、月、年の形式一覧については、「日時形式の文字列」を参照してください。
- is_strict
-
入力日付値が範囲外である場合にエラーを返すかどうかを指定するオプションのブール値。is_strict が
TRUE
に設定されている場合、範囲外の値があるとエラーが返されます。is_strict がデフォルトのFALSE
に設定されている場合、オーバーフロー値が受け入れられます。
戻り型
TO_DATE は、format の値に応じて DATE を返します。
フォーマットへの変換が失敗すると、エラーが返されます。
例
次の SQL ステートメントは、日付 02 Oct 2001
を日付データ型に変換します。
select to_date('02 Oct 2001', 'DD Mon YYYY');
to_date ------------ 2001-10-02 (1 row)
次の SQL ステートメントは、文字列 20010631
を日付に変換します。
select to_date('20010631', 'YYYYMMDD', FALSE);
結果は 2001 年 7 月 1 日です。これは、6 月が 30 日しかないためです。
to_date ------------ 2001-07-01
次の SQL ステートメントは、文字列 20010631
を日付に変換します。
to_date('20010631', 'YYYYMMDD', TRUE);
結果はエラーになります。これは、6 月が 30 日しかないためです。
ERROR: date/time field date value out of range: 2001-6-31