SELECT
CONVERT(CHAR(6),DATEADD(MONTH, 1, GETDATE()),112)
+
'01' AS 'firstDayofNextMonth'
, CONVERT(CHAR(8),DATEADD(day, -1, CONVERT(CHAR(6),DATEADD(MONTH, 2, GETDATE()),112)
+
'01'),112) AS 'lastDayofNextMonth'
firstDayofNextMonth lastDayofNextMonth
------------------- ------------------
20040701 20040731
(1 row(s) affected)
Ergänzung 17.11.2004: Das Ganze kann aber auch folgendermaßen ausgedrückt werden:
SELECT
DATEADD(MONTH,DATEDIFF(MONTH,30,GETDATE()),30)+1
, DATEADD(MONTH,DATEDIFF(MONTH,30,GETDATE())+1,30)
------------------------- ------------------------
2004-12-01 00:00:00.000 2004-12-31 00:00:00.000
(1 row(s) affected)