就是选择的日期是yyyymmdd 的,但是数据库里面有两个字段,一个开始时间,一个结束时间,都是精确到秒的,即yyyymmdd hhmiss的。
如何写sql语句查出选择的日期在开始时间和结束时间之间,就是 开始时间<=选择的时间<=结束时间
因为数据库里开始时间 结束时间可能是这样的 20140101 10:00:00 -- 20140101 11:00:00
也可能是跨天的, 20140101 00:00:00 -- 20140201 00:00:00
而选择的时间又只到日,所以怎么写?
如何写sql语句查出选择的日期在开始时间和结束时间之间,就是 开始时间<=选择的时间<=结束时间
因为数据库里开始时间 结束时间可能是这样的 20140101 10:00:00 -- 20140101 11:00:00
也可能是跨天的, 20140101 00:00:00 -- 20140201 00:00:00
而选择的时间又只到日,所以怎么写?
选择的日期只有一个
解决方法:
将数据库中的字段格式改为yyyymmdd然后再进行比较就可以保证精确到日的比较了。
to_date(to_char(t1.starttime_key,'yyyymmdd'),'yyyymmdd') <= to_date("+ date +", 'yyyymmdd hh24:mi:ss')
and to_date(to_char(t1.endtime_key,'yyyymmdd'),'yyyymmdd') >= to_date("+ date +", 'yyyymmdd hh24:mi:ss')