americandog1993の日記

プログラマー歴半年のメモ

ORACLE NUMBER型の日付を文字列yyyy/MM/dd表記で表示する

20110401

NUMBER型のこいつを書式を整えて表示する方法。

まず、TO_DATEしたいのだけど、TO_DATEの書き方は

TO_DATE('文字列', '書式')

なので、NUMBER型の20170401をまずTO_CHARする。

TO_CHAR(20170401)

それからTO_DATEをかける。

TO_DATE(TO_CHAR(20110401), 'yyyyMMdd')

TO_CHARの日付書式変換の書き方は

TO_CHAR('文字列', '書式')

で、こうなる。

TO_CHAR(TO_DATE(TO_CHAR(20110401), 'yyyyMMdd'), 'yyyy/MM/dd')

テキトーにテスト表示したければ、

SELECT TO_CHAR(TO_DATE(TO_CHAR(20170401), 'yyyyMMdd'), yyyy/MM/dd)
FROM DUAL

参考:
www.shift-the-oracle.com