タイムスタンプ フィールドがあり、Oracle のクエリでその日付部分を比較したいだけです
それ、どうやったら出来るの、
SELECT *
FROM Table1
WHERE date(field1) = '2012-01-01'
タイムスタンプ フィールドがあり、Oracle のクエリでその日付部分を比較したいだけです
それ、どうやったら出来るの、
SELECT *
FROM Table1
WHERE date(field1) = '2012-01-01'
日付部分を切り捨てることができます:
select * from table1 where trunc(field1) = to_date('2012-01-01', 'YYYY-MM-DD')
このアプローチの問題点はfield1
、関数呼び出しのためにインデックスが使用されないことです。
代わりに(そしてよりインデックスフレンドリー)
select * from table1
where field1 >= to_timestamp('2012-01-01', 'YYYY-MM-DD')
and field1 < to_timestamp('2012-01-02', 'YYYY-MM-DD')
日付を切り捨てることができます
SELECT *
FROM Table1
WHERE trunc(field1) = to_Date('2012-01-01','YYY-MM-DD')
その他の例については、SQL Fiddleを参照してください。
to_date
フォーマットは私のために働いた。日付形式を考慮してください:
MON-
、MM
、.
、-
。
t.start_date >= to_date('14.11.2016 04:01:39', 'DD.MM.YYYY HH24:MI:SS')
t.start_date <=to_date('14.11.2016 04:10:07', 'DD.MM.YYYY HH24:MI:SS')