现象:
设置第二天的00:00:00为结束时间
发现当天的数据查不到
数据表中filltime 表示填报时间,用的是date类型
开始结束时间,在页面上用字符串的形式传到后台,格式为"2011-11-21"
有问题的sql语句
- select *
- from zjgk_repayloan g
- where g.filltime >= to_date('2011-11-21', 'yyyy-mm-dd')
- and g.filltime <= to_date('2011-11-21', 'yyyy-mm-dd')
无法查询到21日的数据
原因:
to_date('2011-11-21', 'yyyy-mm-dd') 的确切时间是 2011-11-21 00:00:00
若21日填报的时间是 2011-11-21 15:31:05
自然是不满足这样的过滤条件的
解决方法:
1.
- select *
- from zjgk_repayloan g
- where g.filltime >= to_date('2011-11-21', 'yyyy-mm-dd')
- and g.filltime <=
- to_date('2011-11-21 23:59:59', 'yyyy-mm-dd HH24:MI:SS')
设置为该天最后一秒的时间
2.
- select *
- from zjgk_repayloan g
- where g.filltime >= to_date('2011-11-21', 'yyyy-mm-dd')
- and g.filltime <
- to_date('2011-11-22', 'yyyy-mm-dd')