2017-05-04 21 views
0

エポック時間をミリ秒単位で格納するテーブルがあります(データ型番号(16,0))。ミリ秒のエポックをPL/SQLの日付形式に変換

例: - 1491456096759

私はミリ秒 ':MI:SS.FF YYYY-MM-DD HH24' を含む可読フォーマットにこれをフォーマットするselect文を書きたいです。

私はこの変換に使用できる直接関数はありますか?

私はすでにこのオプション 'YYYY-MM-DD HH24:MI:SS.FF' でその日付印刷することが

select to_date('19700101', 'YYYYMMDD') + (1/24/60/60/1000) * 1491456096759 from dual;

ではなく、試してみました

形式を

+0

多分これが参考になります。オラクル[のhttp://stackoverflow.com/questions/37305135/oracle-convert-unix-epoch-time-to-date – kpater87

+0

可能な重複するには、UNIXエポック時間を変換します日付](http://stackoverflow.com/questions/37305135/oracle-convert-unix-epoch-time-to-date) –

答えて

1

これを試してください:

SELECT TO_TIMESTAMP('1970-01-01 00:00:00.0' 
        ,'YYYY-MM-DD HH24:MI:SS.FF' 
     ) + NUMTODSINTERVAL(1493963084212/1000, 'SECOND') 
FROM dual; 

文字列:

SELECT TO_CHAR( 
     TO_TIMESTAMP('1970-01-01 00:00:00.0' 
        ,'YYYY-MM-DD HH24:MI:SS.FF' 
     ) + NUMTODSINTERVAL(1493963084212/1000, 'SECOND') 
     ,'YYYY-MM-DD HH24:MI:SS.FF') 
FROM dual; 
関連する問題