高手帮我看看,对错,为什么错?

mailto520 2008-04-09 03:14:42
今天我在写一个查询两个日期中间的所有数据时,发现一个怪问题
kename = trim(Request("kename"))
date1=FormatDateTime(trim(request("date1")),vbGeneralDate)
date2=FormatDateTime(trim(Request("date2")),vbGeneralDate)



1、
Select * From [takechu] Where corp_code='“&kename“' and (take_date  between '”&date1&"' and '"&date2&"')


2、
Select * From [takechu] Where corp_code='“&kename“' and DateDiff(d,[take_date],'"&date1&"')<=0 and DateDiff(d,[take_date],'"&date2&"')>=0


3、
Select * From [takechu] Where corp_code='“&kename“' and ([take_date]>='"&date1&"' and [take_date]<='"&date2&"') 


说明:1,3查询出来的结果都有漏掉数据,2查询出来的结果正确,无漏数据。take_date为datetime数据类型
环境:数据库ms_sql2000个人版,操作系统windowsXP,IIS5.0

问题:请问为什么1,3有漏掉数据?这三种查询方法哪个最快?各有什么优劣?
...全文
43 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
littlelam 2008-04-09
1的同理
回复
littlelam 2008-04-09

Select * From [takechu] Where corp_code='“&kename“' and ([take_date]>='"&date1&"' and [take_date]<'"&date2+1&"')
<!--2008-10-29 10:08:34.480 是大于 2008-10-29的所以要加一天-->
回复
wackyboy 2008-04-09
2008-10-29 10:08:34.480

2008-10-29
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-04-09 03:14
社区公告
暂无公告