計算如何發生在DATEADD MONTH DATEPART()DATEADD計算
添加月
SELECT '2012-01-29' AS [Date], CAST(DATEADD(MONTH, 1, '2012-01-31') AS DATE) AS NextDate
UNION
SELECT '2012-01-31' AS [Date], CAST(DATEADD(MONTH, 1, '2012-01-31') AS DATE) AS NextDate
UNION
SELECT '2013-01-31' AS [Date], CAST(DATEADD(MONTH, 1, '2013-01-31') AS DATE) AS NextDate
結果
SUBT RACT月
SELECT '2012-02-29' AS [Date], CAST(DATEADD(MONTH, -1, '2012-02-29') AS DATE) AS PrevDate
UNION
SELECT '2012-03-01' AS [Date], CAST(DATEADD(MONTH, -1, '2012-03-01') AS DATE) AS PrevDate
結果
當我加了一個月的日期29,30,31 of Jan'2012
,我得到了相同的結果February 29
。對於日期爲29 Feb'2012
的相減,其顯示29 Jan'2012
。沒有辦法得到日期30 & 31 of Jan'2012
。
我想知道一些簡單的解釋。