我有一个时间戳字段,我只想在我的Oracle查询中比较它的日期部分
我该怎么做呢,
SELECT *
FROM Table1
WHERE date(field1) = '2012-01-01'
发布于 2012-09-27 04:06:41
您可以truncate日期部分:
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')
发布于 2012-09-27 04:14:47
您可以截断日期
SELECT *
FROM Table1
WHERE trunc(field1) = to_Date('2012-01-01','YYY-MM-DD')
有关更多示例,请查看SQL Fiddle。
发布于 2016-11-15 14:19:07
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')
https://stackoverflow.com/questions/12609487
复制相似问题