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


  本文标签:Sql server时间查询

  Sql server时间查询相信大家都用的比较多,下面就教您Sql server时间查询一个比较快的语句,希望对您能够有所帮助  。

  在Access中进行时间的比较sql语句很简单,如Select * From table Where thetime>#”& Now() &”#这样即可

  在Sql server中Sql server时间查询就不能这样,要用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