~~鱼跃~~

I Want to fly!

导航

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

Posted on 2006-10-10 22:12  flyfish  阅读(346)  评论(0编辑  收藏  举报
 在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