2017-06-16 9 views
1

現在の時刻のみで日付を取得したいとします。その上現在の日付からOracleの時まで

2017-06-16 10:00:00 
2017-06-16 11:00:00 

と:trunc(sysdate)を使用して

は、私も現在の時間が欲しい、私たちに2017-06-16 00:00:00

のようなものを提供します。しかし。

日付の列と比較するのに必要なので、日付(charではありません)にしたいと思います。

date_column <= day_with_hour 

答えて

6

The trunc() function深夜に時間を切り詰めるために'DD'へのデフォルトオプションの2番目の引数を取ります。 (あなたが他の場所で使用している書式を相互に一貫性を保つために好む場合や'HH24' - それが結果に影響しません)あなたが代わりに'HH'を使用することができますあなたが望む結果を得るために:

alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS'; 

select sysdate, trunc(sysdate, 'HH') from dual; 

SYSDATE    TRUNC(SYSDATE,'HH') 
------------------- ------------------- 
2017-06-16 09:27:43 2017-06-16 09:00:00 

日付書式モデルare also in the documentationは、とそれらのサブセットはallowed for trunc()です。

だからあなたのクエリを使用します。たくさん@Alex

date_column <= trunc(sysdate, 'HH') 
+0

感謝を。正確に私が探していたもの。 –

関連する問題