解决方案 »

  1.   

    要精确的分秒,那就就必须把时间起始都给入。
    那就可以
    select id from 表名称 where dd between 开始时间 and 结束时间。你这一句表示的是精确到那一天的数据。
      

  2.   

    select id from 表名称 where dd > 开始时间 and dd<结束时间其实写法很多, 不过你可以测一下:
    用datediff是最慢的……
      

  3.   

    select datediff(day,'2014-01-01 00:00:00','2014-01-02 00:00:00')  --天
    select datediff(hour,'2014-01-01 00:00:00','2014-01-02 00:00:00')  --时
    select datediff(second,'2014-01-01 00:00:00','2014-01-02 00:00:00')  --分钟
    select datediff(minute ,'2014-01-01 00:00:00','2014-01-02 00:00:00')  --秒
      

  4.   

    select id from 表名称 where datediff(dd,updatetime,getdate())=1  --这个只代表判断day的差异,要精确到秒,就用second
      

  5.   

    别忘了 DATEADD 函数
    SELECT GetDate() Now, DATEADD(day, -1, GetDate()) PrevDay
    Now                                                    PrevDay                                                
    ------------------------------------------------------ ------------------------------------------------------ 
    2014-07-30 10:35:35.857                                2014-07-29 10:35:35.857
    所以
    where updatetime >= DATEADD(day, -1, GetDate())
      

  6.   

    SELECT  *  FROM  WHERE  YourDate BETWEEN @start_time  AND @end_time
    --YourDate 填你的时间字段,@start_time和@end_time填查询的开始时间和结束时间,YourDate 、@start_time和@end_time
    --均为datetime类型
    --如SELECT * FROM [tb_gpsinfo] WHERE pos_time BETWEEN '2014-07-01 00:00:00.000' AND --'2014-07-02 00:00:00.000'
      

  7.   

    SELECT  *  FROM  WHERE  YourDate BETWEEN @start_time  AND @end_time
    --YourDate 填你的时间字段,@start_time和@end_time填查询的开始时间和结束时间,YourDate 、@start_time和@end_time
    --均为datetime类型
    --如SELECT * FROM [tb_gpsinfo] WHERE pos_time BETWEEN '2014-07-01 00:00:00.000' AND '2014-07-02 00:00:00.000'