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