vb sql时间段查询语句

来源:百度知道 编辑:UC知道 时间:2024/05/25 07:06:52
我的数据库里有2009年5月26号的记录,
adoRst.Open "Select * From [sheet1] where [日期] between #" + datecb + "# and #" & datecb2 + "# order by [日期],[时间]"
或者
adoRst.Open "Select * From [sheet1] where [日期] >= #" + datecb + "# and [日期] <= #" + datecb2 + "# order by [日期],[时间]

当输入2009-1-1 和2009-6-1时,可以查询到5月26号的记录
可是当后面的日期改为:2009-10-1 或2009-11-1或2009-12-1,也就是说当月份变为2位数时,5月26号的数据就查询不到了,什么记录都查询不到,更奇怪的是我输入2009-11-1和2009-7-1时竟然也能查询到5月26号的记录。为什么呢?盼望高手解答!
我在前面加了语句:
datecb = Format(datecb, "YYYY-MM-DD")
datecb2 = Format(datecb2, "YYYY-MM-DD")
可是还不行,为什么啊?请 nj_xiaohang帮帮忙!谢谢
甚至我写成:
doRst.Open "Select * From [sheet1] where [日期] between #2009-01-01# and #2009-11-11# order by [日期],[时间]" 都查不到5月26号的数据

需要格式化日期:
全部格式成 YYYY-MM-DD

2009-11-1
2009-5-26
这个不是按照日期比较的,是按照,字符串比较的,就会有你那样的问题,
解决的办法就是,格式化日期
2009-11-1 格式化成 2009-11-01
2009-5-26 格式化成 2009-05-26

就不会出现你那样的问题啦