こんにちは、いつもの新人です。
「EXTRACT(EPOCH FROM [時刻])」の構文でマイクロ秒を含んだUNIXTIMEを取得するには、1度マイクロ秒と切り離してみる必要があるようです。
そのために使うのがDATE_TRUNC関数です。これは、日付の値をどの精度まで表示するのかを選択し、選択したもの以下の情報は0(月、日の場合は1)として出力する関数です。例えば、hour(時)を選択すると何年何月何日何時までを正確に表示し、後の情報は0を出力します。
SELECT EXTRACT(EPOCH FROM DATE_TRUNC('second',[マイクロ秒を含んだTIMESTAMP])),TO_CHAR([マイクロ秒を含んだTIMESTAMP],'US') FROM
[テーブル];
上のようなSELECT文の場合、マイクロ秒を含まない日時の情報をUNIXTIMEにしたものと、マイクロ秒のみの値が出力されます。
出力されたその2つを小数点で繋げるようにパラメータを設定すれば、TIMESTAMPと同じマイクロ秒情報のUNIXTIMEを取得できます。
0 件のコメント:
コメントを投稿