数据库中有两个时间字段分别为:datestart 和 dateend,假设他们的值为 2006-12-20 和2006-12-22
我在前台输入的日期是:2006-12-21到2006-12-22,可是搜不到,一定要去掉一个条件就可以搜出,请问我如果用datediff的话该怎么写?
我现在判断语句是 .... where datestart>=#2006-12-21# and dateend<=#2006-12-22#.....
更正一下第一句,假设他们的值应该为 2006-12-20 和2006-12-31
用
between...and
datediff(d,datestart,dateend)<1
因datediff是比较的,所以如果知道一个范围,用上面的BETWEEN
between我怎么写?
我数据库中两个字段:datestart 和 dateend
我现在输入的条件,要查询大于datestart和小于dateend日期的记录,但是我如果用between的话,我只会写 where datestart between #2006-12-21# and #2006-12-22#....
那我那个dateend怎么加进去以判断出大于datestart和小于dateend日期的记录?
还望高手赐教,这个问题搞了N久,头也晕啦~~~
没必要二个字段,一个就够了
where left(convert(varchar(20),[时间字段],20),10) between '2006-12-21' and '2006-12-22'
條件寫反了.
where datestart>=#2006-12-21# and dateend<=#2006-12-22#
改成.
where datestart<=#2006-12-21# and dateend>=#2006-12-22#
谢谢楼上的兄台,呵呵,问题已经解决.....
同样也谢谢另外两位兄台的建议!谢谢大家!
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 记录 两个 dateend datestart and where between #2006-12-21# |
注册
个人空间
