SQL语句的datediff用法。急!谢谢帮助
正常用法是:
select * from [table] where datediff(d,dada,getdate())> 0 order by id desc
现在我不是用他获得getdate()进行比较!而是用变量1和库datetime字段PdDate进行比较。
现数据库中表lookmydb中有5条记录如下:
字段类型说明
id(int) username(char) PdDate(datetime) KeMu(char) s_id(int)
数据库内容:
id username PdDate KeMu s_id
1 aaabbb 2007-4-4 3 51
2 aaabbb 2007-3-4 3 51
3 aaabbb 2007-4-1 3 51
4 aaabbb 2007-3-13 3 51
5 aaabbb 2007-4-2 3 51
程序 开始执行:
变量1 aaa = 2007-4-1
SQL语句:rs.open "select * from [lookmydb] where KeMu= '3 ' and s_id=51 and username= 'aaabbb ' and datediff(day, "&aaa& ",PdDate)> =5 order by id desc ",conn,1,1
if (rs.eof and rs.bof) then
response.write( "没有 ")
else
response.write( "条件满足的ID是: ")
do while not rs.eof
response.write(rs( "id ")& " <br> ")
rs.movenext
loop
response.write( "完毕,共有 "&rs.recordcount& "条记录 ")
response.end
就是判断在2007年4月1日5天以前的记录。应该是只输出ID 2 和 ID 4,但是结果是全部输出了除了datediff的判断外所有满足的条件。不知道为什么!!哎郁闷。问了好几个朋友,都搞不定,现在求大家出出点子,非常感谢!
很多朋友说先开表然后再从记录集里搜寻。这样做如果以后的记录有几万条。那不耗资源么?如果能在SQL里执行掉就最好了。
------解决方案--------------------datediff(day,PdDate, ' "&aaa& " ')