Oracle如何比较时间戳和日期?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我有一个时间戳字段,我只是想在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')

扫码关注云+社区