见下图,两条语句查出来结果都不对。STARTTIME 和STOPTIME都是SQLSERVER的DATETIME类型字段。问题在于,结果中的STARTTIME明显比查询条件2017-02-23要小求救!

解决方案 »

  1.   

    对啊,你自己写的也是2017-02-23大于starttime 啊
      

  2.   

    所以结果都是starttime 小于2017-02-23的数据
      

  3.   

    有一点需要注意,between是包含等于的,所以两天语句还是有差别的。
      

  4.   

    col between s and d 相当于 col >= s and col <= d 更重要的是:你两次查的表都不一样,数据能一样吗?
      

  5.   

    你的两个条件不同,条件相同时,是这样用
    列 between @StartTime  and @EndTIme列>=@StartTime and 列<=@EndTIme-----条件相同以上是等同的以你的例子,两个表结构相同时,找出不一致的结果集T-SQL1(语句1)
    EXCEPT
    T-SQl2(语句2)T-SQl2(语句2)
    EXCEPT
    T-SQL1(语句1)
      

  6.   

    玩时间 要精准要这样用,查(02-01) 1天的数据
    或在结束时间 指定毫秒数set @StartTime='2017-02-01'
    set @EndTime='2017-02-02'列>=@StartTime and 列<@EndTIme