2012-10-11 14 views
0
大家

您好我有兩個日期,想要找的天數,包括這兩個日期,我想是這樣的......我想找到的天數從給定的天

select datediff("d", '10/11/2012', '10/12/2012') 

是表示1,但我想結果爲2,因爲我們有2天11和12 ...

任何幫助將不勝感激。 在此先感謝

回答

9

最新版本的SQL引入了對增加整數的支持!好極了。

select datediff("d", '10/11/2012', '10/12/2012') + 1 
               ^^^^^ 
+2

哦,不,我是堅持SQL 2005!我想我仍然需要做'CASE x當時1然後2當2 3 ...' –

+0

感謝朋友們的幫助.... –

1

好DATEDIFF總會找到天至2天的差別,因爲你已經注意到,您的例子,這是1,如果你想使這個包容性的,那麼爲什麼不只是+1的結果呢?

select datediff("d", '10/11/2012', '10/12/2012') + 1 
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