Problem
Es kann sein dass der erste oder letzte Tag eines Monats ermittelt werden muss. Diese ist vor allem für Auswertungen wichtig. Da diese zum Teil für einen Monat aggregiert werden müssen.
Lösungen
-- Variable erstellen im Script
DECLARE @mydate DATETIME
SELECT @mydate = GETDATE()
Letzter Tag des Vormonats
SELECT CONVERT (VARCHAR(25),DATEADD(dd,-(DAY(@mydate)),@mydate),101)
Erster Tag des aktuellen Monats
SELECT CONVERT VARCHAR (25),DATEADD(dd,-(DAY (@mydate)-1),@mydate),101) AS Date_Value
Letzter Tag des aktuellen Monats
SELECT CONVERT VARCHAR (25),DATEADD(dd,-( DAY(DATEADD(mm,1,@mydate))), DATEADD(mm,1,@mydate)),101)
Erster Tag des nächsten Monats
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY (DATEADD(mm,1,@mydate))-1), DATEADD(mm,1,@mydate)),10