好的,我觉得我对SQL非常好......我必须在两个日期时间列之间进行比较。
有人可以解释
之间的区别DateA > DateB
和
DateDiff(d,DateB,DateA) >= 1
我认为这两个陈述在功能上是等价的,但我想我错了......
答案 0 :(得分:4)
DateA > DateB
检查DateA是否大于DateB(01/12/2012 14:50:01大于01/12/2012 14:50:00)。
DateDiff(d,DateB,DateA) >= 1
检查天数(datepart d
作为第一个参数)是否等于或大于1天。
答案 1 :(得分:2)
DateA > DateB
将评估为true
如果DateB和DateA之间的差异至少为一天,
DateDiff(d,DateB,DateA) >= 1
将评估为真
换句话说,如果您认为今天的12:00比今天的11:00更大,请选择一个
如果您认为日期在午夜之后比另一个更大,请选择选项二
答案 2 :(得分:1)
DateA
如果是1分钟或1秒或1毫秒后,则大于DateB
。
您的DateDiff
正在寻找一整天的差异。
无论您是否打算,DateTime
总是包含时间,因此您必须考虑到这一点。
答案 3 :(得分:1)
DateA > DateB
甚至小于大于DateA
(例如1毫秒),则 DateB
将为真。
DateDiff(d,DateB,DateA) >= 1
将成立。