SQL查询两个时间之间的记录

"select * from cases where date between '"&bdate&"' and '"&edate&"' order by id desc"
这样有错吗
//bdate开始时间
//edate结束时间
select * from cases where [date] > bdate and [date] < edate order by id desc
也不行

"select * from cases where [date] between '"&bdate&"' and '"&edate&"' order by id desc"
没有错。
就是要注意你的表中的数据格式,要与bdate edate一致,还有就是不能有空值,否则出错。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-01
这样写是对的,但是要注意你的数据类型,如果date、bdate和edate不是时间类型的话,要先转换为时间类型。
select * from cases where [date] > bdate and [date] < edate order by id desc
第2个回答  2008-11-01
select * from cases where [date] > bdate and [date] < edate order by id desc

顺便说一下,字段名称不要用保留字,用了就加上[]

你要把错误信息发出来,我不清楚你用的数据类型! 按道理是不会错的,估计是其他原因!
第3个回答  2008-11-01
你这条语句放查询分析器里查?
如果是这样的话,把bdate 换成具体的开始时间 edate 换成具体的结束时间
例如
select * from cases where [date] > ‘2008-11-1 00:00:00.000’and [date] < ‘2008-11-2 00:00:00.000' order by id desc
第4个回答  2008-11-01
不可以用date,date是数据库的默认值,必须用的时候加[ ]
相似回答