日期:2014-05-17 浏览次数:20872 次
select * from time where substr(tTime,1,4) >='1031' and substr(tTime,1,4) <='1940';
------解决方案--------------------
首先你这SQL犯了两个错误 1、to_date(tTime,'yyyy-MM-dd HH24mi') 错误 正确应该是 to_date(tTime,'yyyy-mm-dd hh24:mi') 2、to_date(tTime,'yyyy-MM-dd HH24mi') >='1031' 这个等式错误 左边TO_DATE 出来的是日期格式 而右边是 字符串格式,肯定会报错 正确写法: select * from time where to_date(tTime,'yyyy-mm-dd hh24:mi') >= to_date('201203221022','yyyy-mm-dd hh24:mi') and to_date(tTime,'yyyy-MM-dd HH24:mi') <= to_date('201203221055','yyyy-mm-dd hh24:mi')
------解决方案--------------------
你这样的话是选取1031年到1940年的数据,楼主的意思应该是选取“小时”之间的数据吧
不管要选取那个时间段,最好能都包括进去 You may as well like this:
select * from time
where substr(tTime,1,14)>='201203221022' and substr(tTime,1,14)<='201203221055' ;