【发布时间】:2017-05-10 19:05:26
【问题描述】:
这有什么区别
StartDate > DateAdd(dd,-1,@EndDate)
还有这个
StartDate >=@EndDate
【问题讨论】:
-
没有区别吗?你为什么这么问?
标签: sql sql-server
这有什么区别
StartDate > DateAdd(dd,-1,@EndDate)
还有这个
StartDate >=@EndDate
【问题讨论】:
标签: sql sql-server
它们是相同的如果 StartDate 和 EndDate 具有 date 数据类型。
如果它们是时间组件,那么逻辑是不同的。
考虑:
EndDate 2017-05-09 11:00:00
然后第一个得到一切之后 2017-05-08 11:00:00。
第二个在 2017 年 5 月 9 日 11:00:00或之后获得一切。显然,这些是不同的。
我还应该补充一点:使用日期部分时,请拼出日期部分的全名。所以用这个:
StartDate > DateAdd(day, -1, @EndDate)
而不是使用dd。这使代码更易于阅读。它还可以防止缩写问题。 mm 是几分钟还是几个月? ms 是毫秒还是微秒?何必费心去回忆呢?
【讨论】: