2017-09-18 12 views
0

私は2つの行があり、それらが同じ日にあるかどうかを判別したい場合は、エポック・タイム・スタンプの列(transaction_date) ; to_dateを使用して日付に変換することなくそれをどうやって行うことができますか、それを決定する際の操作が少なくて済む最良の方法は何ですか。日にタイムスタンプから、この変換を使用して2つのエポック・タイム・スタンプがOracleデータベース内の同じ日付にあるかどうかを判断する最も良い方法

答えて

0

、あなたはUTCに日付を変換して生成されなければならない数がある

SELECT 
     * (all but transaction_date), 
     (EXTRACT (DAY FROM (transaction_date))*24*60*60) transaction_day 
FROM yourtable; 
1

エポック「タイムスタンプ」を比較することができ、subtracting the epochに(それはタイムゾーンを持っている場合)エポックから数秒(またはミリ秒)を指定します。

日付に変換せずに、あなただけの一日に秒(またはミリ秒)の数で割ると、エポック以降の日数を取得するために切り捨てた後、それらの値を比較することができますが:

SELECT TRUNC(transaction_date/(24 * 60 * 60)) FROM your_table 

2つの行で指定された値がエポックから同じ日数を持つ場合、それらは同じ日になります。

関連する問題