TO_DATEは文字列で表された日付をDATEデータ型に変換するOracle SQL関数である。 変換元の文字列は、'YYYYMMDD'や'YYYYMM'のような書式フォーマットを指定することもできる。

目次

TO_DATEの構文

文字列を日付(DATE型)に変換する。

TO_DATE(char)

書式を指定した文字列を日付型に変換する。

TO_DATE(char, format)
TO_DATE(char, format, nlsparam)

オラクルは関数名の大文字と小文字を区別しないので、関数名は大文字(TO_DATE)と小文字(to_date)のどちらでもよい。

TO_DATEの引数

char
日付を表す文字列。デフォルトの日付フォーマットはNLS_TERITORY初期化パラメータによって決まる。
format

char の書式を指定する日時書式。

書式 説明
YYYY 4桁で表した西暦年
YY 2桁で表した西暦年
MM 月(01〜12)
DD
HH 12時間制の時(1〜12)
HH24 24時間制の時(1〜24)
MI
SS
nlsparam
日付に変換されるテキスト文字列の言語。

デフォルトの日付フォーマットはNLS_TERRITORY初期化パラメータによって暗黙的に決まる。NLS_FORMATパラメータを使用して明示的に設定することもできる。

TO_DATE('15-07-10 00:00:00', 'YY-MM-DD HH24:MI:SS')

TO_DATEの使用例

「YYYY/MM/DD」形式の文字列を日付型に変換する。

SQL> select TO_DATE('2018/07/13', 'YYYY/MM/DD') from DUAL;

TO_DATE(
--------
18-07-13

SQL>

「YYYYMM」形式の文字列を日付型に変換する。

SQL> select TO_DATE('201608', 'YYYYMM') from DUAL;

TO_DATE(
--------
16-08-01

SQL>

日付型を文字列に変換する

TO_DATEは文字列を日付型に変換する関数であるが、逆に日付型を文字列に変換する場合はTO_CHAR関数を使う。

このエントリーをはてなブックマークに追加