OracleのSQLでUNIX timeを日付に変換する
UNIX timeをOracle DBに保存している古いシステムがある。 システム改修などで確認のためにSQLを使ってそれを持つデータを取得することがあるのだが、秒数ではわかりにくい。
そこで、SQLでUNIX timeを日付に変換する方法。
select to_date('1970-01-01','YYYY-MM-DD') + numtodsinterval(unix_timestamp +9*60*60, 'SECOND') as datetime from foo;
unix_timestamp
は、調べたいUNIX Timeのカラム。
UNIX Timeは、UTCの1970-01-01 00:00:00からの秒数であり、調べたいUNIX Timeに対して+9時間(9*60*60秒)することで、JSTに変換して表示する。