oracle时间查询范围查询

数据库里有个time字段,格式为:yyyy/mm/dd yy-mm-dd hh24:mi:ss,不是字符型,
我想查询出2016年每天16点后的数据,请问sql该怎么写?

你好,可以使用oracle的to_char( )函数将时间转化为字符串,然后再进行查询,sql如下:
select * from table where to_char(time,'yyyy')='2016' and to_char(time,'hh:mm:ss')>'16:00:00'追问

能单独查询出2016的数据,或者16点后的数据
select * from table where to_char(time,'yyyy')='2016' and to_char(time,'hh:mm:ss')>'16:00:00'
但两个条件合在一起就查不出数据

追答

应该不会,是不是写错了!

追问

select * from table where to_char(time,'hh:mm:ss')>'16:00:00'
只查询出一部分数据,没查询完。这是为什么

温馨提示:答案为网友推荐,仅供参考
相似回答