2013-03-30 4 views
7

current_dateまたはsysdateを使用して時刻を取り除く方法はありますか。私は店にYYYY-MM-DDとして日付をしようとしているが、CURRENT_DATEは私にYYYY-MM-DD HH:MM:SS:MS時間、分、秒を除いたOracleの現在の日付または時刻の日付

を与えているかの日付を比較するとき、それだけで同じように良いだろう、日付と時間を比較していません。どんな助けも素晴らしいだろう、ありがとう。

+1

関連:http://stackoverflow.com/q/7604167/1065197 –

+0

時刻フォーマット 'HH:MM:SS:MS'が間違っています。 'MM 'は数値月を表します(' MS'も認識されません)。それは 'HH:MI:SS'でなければなりません。ミリ秒が必要な場合は、 'DATE'型フィールドに2番目までの小数点しか格納しないため、' TIMESTAMP'データ型を使用する必要があります。 – Lion

+1

OracleのDATEデータ型には、YEAR、MONTH、DAY、HOURS、MINUTES、SECONDSの各フィールドがあります。 Oracleには、YEAR、MONTHおよびDAYフィールドのみを格納するデータ型はありません。 –

答えて

19

たぶん、あなたは

trunc(sysdate) 

機能を試してみてください。

+0

時間を00:00:00として保存しますが、それでも動作します。ありがとう。 – roverred

+0

はい、日付型のままですが、正確な時刻自体はありません。 – rusty

1

Rustyさんは、時間の部分を取り除くことに関するあなたの質問の部分に答えました。日付を比較するときに組み込むことについての部分は、このようにしばしば行われます。

where YourDateField >= StartDate 
and YourDateField < TheDayAfterEndDate 

特定の日付で検索する場合は、StartDateとEndDateが同じになります。

+0

私は 'StartDate <= YourDateFieldとYourDateField

関連する問題