So-net無料ブログ作成

【Oracle SQL関数】TO_DATE [データサイエンス、統計モデル]

TO_DATEは文字列で表された日付をDATEデータ型に変換するOracle SQL関数


一般的な使い方はこちら。
select
  TO_DATE('2019/06/19', 'YYYY/MM/DD')
  ,TO_DATE(COLUMN_NAME, 'YYYY/MM/DD')
from DATABASE_NAME;


一方で、カラムに入っている文字列(日付)が
2019年6月19日といった日本語表記されている場合もあるかと思います。

この場合どうするか?

上記では、"/"が年月日を分ける役割(区切り文字)だったのですが、
それが年月日という日本語になっています。

そのため、下記の様に変更すれば、日本語で書かれた文字列も日付型に変更することが可能となります。

select
  TO_DATE('2019年06月19日', 'YYYY"年"MM"月"DD"日"')
  ,TO_DATE(COLUMN_NAME, 'YYYY"年"MM"月"DD"日"')
from DATABASE_NAME;


ちなみに、'2019年06月'というように年月しか入っていない場合は、
  TO_DATE('2019年06月', 'YYYY"年"MM"月"')
で、日付型に変更できますが、出力結果は
  2018-07-01
と1日の日付が入って出力されます。

nice!(6)  コメント(0) 
共通テーマ:学問