正常情况下
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