【发布时间】:2010-03-25 16:57:22
【问题描述】:
我正在运行一个简单的 DATEDIFF 查询,但它似乎无法正确计算天数,或者我做错了什么。
如果我跑步
PRINT DATEDIFF(Day, 2010-01-20, 2010-01-01)
RETURN 19
这是正确的。如果我将第一个日期的月份更改为 2 月 (02),我会得到一些奇怪的东西。
PRINT DATEDIFF(Day, 2010-02-20, 2010-01-01)
RETURN 20
现在不应该是 48 还是什么?
谁能看到我做错了什么,或者如果我想要这些日期之间的天数,这不是正确的功能吗?
我尝试过从另一个日期开始:
PRINT (2010-02-20) - (2010-01-01)
RETURN -20
非常感谢任何帮助。
谢谢 J.
【问题讨论】:
-
@James - 不,它不应该是 48 ...您应该将较大的日期作为最后一个参数。否则结果是否定的。也不要忘记''。请参阅下面的答案。
-
我并不是说 48 完全是“不应该是 48 还是什么”,我只是在脑海中快速计算了一下。不过感谢您的帮助。