我有两个日期,想找到包括两个日期在内的天数,我尝试了这样的事情:
select datediff("d", '10/11/2012', '10/12/2012')
它显示 1,但我希望结果为 2,因为我们有 2 天 11 和 12。
我有两个日期,想找到包括两个日期在内的天数,我尝试了这样的事情:
select datediff("d", '10/11/2012', '10/12/2012')
它显示 1,但我希望结果为 2,因为我们有 2 天 11 和 12。
最新版本的 SQL 引入了对添加整数的支持!耶。
select datediff("d", '10/11/2012', '10/12/2012') + 1
^^^^^
如果您也在使用负差异进行操作,添加 1 可能无法为您提供您正在寻找的答案,您可以像这样处理这些情况:
declare @from datetime = '2012-10-11'
declare @to datetime = '2012-10-10'
select datediff(day, @from, @to)
+ case when datediff(day, @from, @to) < 0 then -1 else 1 end
好吧,datediff 总是会找到 2 天之间的差异,正如您所指出的,对于您的示例,这是 1。如果您想让它包含在内,那么为什么不只对结果 +1 呢?
select datediff("d", '10/11/2012', '10/12/2012') + 1