DATEADD Расчет

Как происходит расчет дляМЕСЯЦ 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

Результат

Вычесть месяц

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.

Я хочу знать краткое объяснение.

Ответы на вопрос(1)

Ваш ответ на вопрос