SQL Developerでlinuxコマンド "date +%s%3N"を複製する必要があります。私は以下のコードサンプルを試しましたが、別の値で返します。私は運がないと広範な検索Googleを行っている。SQL Developerで合計時間をミリ秒単位で生成する
select to_char((extract(day from (systimestamp - timestamp '1970-01-01 00:00:00')) * 86400000
+ extract(hour from (systimestamp - timestamp '1970-01-01 00:00:00')) * 3600000
+ extract(minute from (systimestamp - timestamp '1970-01-01 00:00:00')) * 60000
+ extract(second from (systimestamp - timestamp '1970-01-01 00:00:00')) * 1000) * 1000) unix_time
from dual;
等日付+%sの%3Nコマンド戻り何か:dateコマンド戻り
:
上記のサンプルコードのようなものを返すのに対しコードサンプルの前に実行されていたにもかかわらず、コードサンプルより長くて大きな数になります。可能であれば、究極のソリューションはOracleの直接的なユーティリティとなります。そうでない場合は、おそらくOracle内のdateコマンドを呼び出すと機能します。
余計な数学がたくさんあります。なぜ個々の時間成分を抽出して、それを数秒に掛け算する必要があるのですか? http://stackoverflow.com/questions/12105691/convert-timestamp-datatype-into-unix-timestamp-oracleあなたがしていることのすべては、日付「数学」の1つのビットで行うことができます。 –
データベースサーバーのタイムゾーンはどのくらいですか? UNIXの時刻は '1970-01-01 00:00:00 UTC'に基づいています! –
あなたは 'extract(second from ...)* 1000)* 1000'を、つまりマイクロ秒単位で作成します。それはあなたが欲しいものですか? –