2

好的,我认为我很擅长使用 SQL...我必须在两个日期时间列之间进行比较。

有人可以解释一下

DateA > DateB

DateDiff(d,DateB,DateA) >= 1

我认为这两个语句在功能上是等效的,但我想我错了......

4

4 回答 4

4
DateA > DateB

检查 DateA 是否大于 DateB(01/12/2012 14:50:01 大于 01/12/2012 14:50:00)。


DateDiff(d,DateB,DateA) >= 1

检查天数的差异(d作为第一个参数的日期部分)是否等于或大于 1 天。

于 2012-05-17T12:35:19.913 回答
2

DateA > DateB如果 DateA 至少比 DateB 大一毫秒,将评估为 true

DateDiff(d,DateB,DateA) >= 1如果 DateB 和 DateA 之间的差异至少为 1 天,将评估 true

换句话说,如果您认为今天 12:00 比今天 11:00 大,请选择选项一

如果您认为午夜过后的日期比另一个日期大,请选择选项二

于 2012-05-17T12:44:02.630 回答
1

DateA大于DateB一分钟或一秒或一毫秒后。

DateDiff正在寻找一整天的差异。

无论您是否有意,DateTime总是包含一个时间,因此您必须考虑到这一点。

于 2012-05-17T12:35:37.527 回答
1

DateA > DateB如果DateA甚至比(比如 1 毫秒)稍大一点,则为真。DateB

DateDiff(d,DateB,DateA) >= 1如果日期之间的差异是一天或更长时间,则为真。

于 2012-05-17T12:36:09.397 回答