考虑以下SQL片段:
Select DATEDIFF(dd, '2014-09-22 09:14:01.850','2014-09-24 17:14:53.243') -- 1
Run Code Online (Sandbox Code Playgroud)
这返回"2",但我实际上想要"3",因为我正在计算员工参加的总天数.即在上述情况下,他参加了3天,但datediff显示2.有没有办法解决这个问题?
带dd参数的DATEDIFF 返回2个日期之间的日期边界数.
所以DATEDIFF(dd, '2014-09-22 09:14:01.850','2014-09-24 17:14:53.243')将返回2 - 因为它计算的是第23和第24.如果你想计算第22,第23和第24,那么只需加1,例如
Select DATEDIFF(dd, '2014-09-22 09:14:01.850','2014-09-24 17:14:53.243') + 1
Run Code Online (Sandbox Code Playgroud)