注册 登录
编程论坛 ASP技术论坛

[已解决]条件查询Access数据库时间段的sql语句

towering 发布于 2010-08-16 13:37, 4400 次点击
目的:查询一个时间段内的记录
Access里的addtime字段是时间格式,只有天没有小时分秒。如:2010-08-16

我这样写:
程序代码:

date1=request.Form("date1")
date2=request.Form("date2")

sql="select title from News where addtime between #"&date1&"# and #"&date2&"# "

什么都查询不出来

但是我这样写:

sql="select title from News where addtime between #2010-08-12# and #2010-08-16# "

就可以

应该怎么写呀?


[ 本帖最后由 towering 于 2010-8-16 17:20 编辑 ]
5 回复
#2
hams2010-08-16 14:59
先确定你传过来的值
#3
towering2010-08-16 15:03
传的值也是日期格式:2010-08-13
没有问题
#4
towering2010-08-16 17:11
刚才又试了一下:
date1=2010-08-12
date2=2010-08-14

sql="select title from News where addtime between #"&date1&"# and #"&date2&"# "

竟然也不行!

是不是我的SQL语句错了?

应该是:

date1="2010-08-12"
date2="2010-08-14"
呵呵!
这样可以!

不过为什么不能传值呢?


[ 本帖最后由 towering 于 2010-8-16 17:15 编辑 ]
#5
gupiao1752010-08-16 17:18
直接写具体日期在变量里,不符合查询的基本要求了
或者装换一下应该也可以,类似这样:
date1=Date(request.Form("date1"))
date2=Date(request.Form("date2"))
前提date1在输入的时候必须是个日期格式,如果输入中文,或无意义的数字,那么怎么装换都不行!
#6
gupiao1752010-08-16 17:19
不好意思,前面忘记打个C上去了!
date1=CDate(request.Form("date1"))
date2=CDate(request.Form("date2"))
1