在Access中进行时间的比较sql语句很简单,如Select * From table Where thetime>#”& Now() &”#这样即可
在MSSQL就不能这样,要用DateDiff语句和GetDate()函数进行比较。
如Select Count(*) From table Where DateDiff(s,GetDate(),thetime)>0,我自己特别做了个50万条数据的的表,执行这条语句差不多需要1200毫秒。
后来研究了一下,发现其实不需要用DateDiff函数,可以直接使用>来比较,语句如下:Select Count(*) From table Where thetime>GetDate(),这样差不多只要750毫秒,快了将近500毫秒。
某天以后的
SELECT * FROM TABLE1 WHERE datefieldname > '2005-3-29'
某段时间内的
SELECT * FROM TABLE1 WHERE datefieldname between '2005-3-29' and '2005-4-10'
近三天的
SELECT * FROM TABLE1 WHERE datediff(d,datefieldname,getdate())<3