select * from T_Customer WHERE update_time > '2009-6-26 14:19:33'以上语句执行后,update_time字段值为“2009-6-26 14:19:33”也会出现在记录集中请教高手,为什么会这样呢?

解决方案 »

  1.   

    select * from T_Customer WHERE update_time > '2009-6-26 14:19:33.999'  
      

  2.   

    DATEDIFF(DD,'2009-6-26',UPDATE_TIME)=0
      

  3.   

    根据4F的思路自己解决了
    select * from T_Customer WHERE convert(varchar(20),update_time,20) > '2009-6-26 14:19:33' 函数写在了表达式左边,降低了效率。好在记录并不多。谁有更好的办法?
      

  4.   


    select * from T_Customer WHERE datediff(ss,'2009-6-26 14:19:33',update_time)>0
      

  5.   

    当然,如果需要,你也可以以更小的单位查看。
    具体参看联机丛书datediff函数
      

  6.   

    select * from T_Customer WHERE update_time > '2009-6-26 14:19:33' 以上语句执行后,update_time字段值为“2009-6-26 14:19:33”也会出现在记录集中 请教高手,为什么会这样呢?
    select * from T_Customer WHERE convert(nvarchar(20),update_time,121) > '2009-6-26 14:19:33' 
      

  7.   

    示例::SELECT * FROM dbo.Tbtest1  2009-06-26 14:19:33.000
    2  2009-06-26 14:19:34.000
    3  2009-06-26 14:19:33.880SELECT * FROM dbo.Tbtest WHERE updatetime> '2009-06-26 14:19:33'2  2009-06-26 14:19:34.000
    3  2009-06-26 14:19:33.880
      

  8.   

    select * from T_Customer WHERE update_time > '2009-6-26 14:19:33.999'  
    我认为四楼的方法是最好的,完全满足你的要求。也就是你的真实需求。