JBo*_*oom 6 sql t-sql datediff
我正在运行一个简单的DATEDIFF查询但它似乎没有正确计算日期或我做错了什么.
如果我跑
PRINT DATEDIFF(Day, 2010-01-20, 2010-01-01)
RETURN 19
Run Code Online (Sandbox Code Playgroud)
哪个是对的.如果我把第一个月的月份更改为2月(02),我会发现一些奇怪的事情.
PRINT DATEDIFF(Day, 2010-02-20, 2010-01-01)
RETURN 20
Run Code Online (Sandbox Code Playgroud)
现在不应该是48或什么?
任何人都可以看到我做错了,或者这不是正确的功能,如果我想要这些日期之间的天数?
我试过从另一个开始约会:
PRINT (2010-02-20) - (2010-01-01)
RETURN -20
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢.
谢谢J.
你缺少引号
PRINT DATEDIFF(Day, '2010-01-01', '2010-02-20')
Run Code Online (Sandbox Code Playgroud)
你得到 20 是因为
2010 - 1 - 1 = 2008
2010 - 2 - 20 = 1988
2008 - 1988 = 20
Run Code Online (Sandbox Code Playgroud)