Comment le calcul pour arriver MOIS datepart à DATEADD()DATEADD Calcul
Ajouter mois
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
Résultat
Subt Ract Mois
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
Résultat
Lorsque j'ajoute un mois pour les dates 29,30,31 of Jan'2012
, je reçois le même résultat que February 29
. Pour la soustraction, pour la date 29 Feb'2012
, il affiche 29 Jan'2012
. Il n'y a aucun moyen d'obtenir les dates 30 & 31 of Jan'2012
.
Je veux connaître une brève explication.