您的位置:首页 > 数据库

Sql server中时间查询的一个比较快的语句

2006-10-10 22:12 585 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: