我在SQL SERVER中獲取日期的計數有點麻煩。我需要包含兩個日期開始日期和結束日期之間的日曆天數。用下面的例子的問題是,它總是返回10時,我認爲它應該是11DATEADD與部分日期
DECLARE @FROM DATETIME, @TO DATETIME
SET @FROM = '18/12/2011 00:00:00'
SET @TO = '28/12/2011 00:00:00'
SELECT
DATEDIFF(MINUTE,@FROM,@TO), -- Returns 14459
DATEDIFF(HOUR,@FROM,@TO), -- Returns 241
DATEDIFF(DAY,@FROM,@TO), -- Returns 10
CEILING(CAST((DATEDIFF(HOUR,@FROM,@TO)/24) as DECIMAL(9,5))) --Returns 10
CEILING(CAST(CEILING(CEILING(CAST(DATEDIFF(SECOND,@FROM,@TO) as DECIMAL(18,5)))/60)/60 as DECIMAL(9,5))/24) --Returns 10
如果有時間之間至少保持1秒鐘,但我必須考慮所有方案的底線工作。
我唯一的想法是簡單地將日期差異添加到部分日期帳戶中?這可靠嗎?
DATEDIFF(DAY,@FROM,@TO) + 1
我碰上了回答這個問題How to find the total between the dates for each values
感謝大家的回答; upvote for everyone :) – 2012-01-29 00:40:56