oracle时间判断

正常情况下

select user_id,create_time from user_info
where create_time <= to_date('2013-8-23','YYYY-MM-DD')
order by create_time

但是查询出来的结果不包括2013-8-23这一天,这是因为实际上运行的语句为

select user_id,create_time from user_info
where create_time <= to_date('2013-8-23 00:00:00','YYYY-MM-DD HH24:MI:SS')
order by create_time

我们可以采用以下两种的方式
方式一:

select user_id,create_time from user_info
where to_char(create_time ,'YYYY-MM-DD')  <= '2013-08-23' 
order by create_time

注意:当月份和日期的为一位数时,前面需要加零。如上例时间当写成2013-8-23 时,查询条件会没有效果,前面必须加零2013-08-23'

方式二:(between … and … )

select user_id,create_time from user_info
where to_char(create_time ,'YYYY-MM-DD')  between '2013-08-23' and '2013-08-25'
order by create_time

猜你喜欢

转载自blog.csdn.net/cyj7696/article/details/89094370