Oracle システム日付をYYYYMMDD形式などの文字列型に変換する
Oracle
でシステム日付を文字列で扱う方法をまとめます。
システム日付を取得する
Oracle
でシステム日付を取得するにはSYSDATE
を使用します。
SELECT
SYSDATE
FROM
DUAL
日付を文字列型に変換する
SYSDATE
は日付型で取得されます。
YYYYMMDD
形式などの文字列型に変換したい場合はTO_CHAR
でフォーマットを指定して変換します。
SELECT
TO_CHAR(SYSDATE, 'YYYYMMDD')
,TO_CHAR(SYSDATE, 'YYYY/MM/DD')
,TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS')
FROM
DUAL
時刻をフォーマットするときにHH
だけだと12時間表記になります。24時間表記にしたい場合はHH24
とします。
文字列を日付型に変換する
逆に20170123
などのYYYYMMDD
型の文字列型のデータを日付型に変換するにはTO_DATE
を使用します。
SELECT
TO_DATE('20170123', 'YYYYMMDD')
,TO_DATE('2017/01/23', 'YYYY/MM/DD')
,TO_DATE('2017/01/23 23:59:59', 'YYYY/MM/DD HH24:MI:SS')
FROM
DUAL