--First Day of the Current Month
SELECT DATEADD(MM, datediff(MM, 0, getdate()), 0)
--Last Day of the Current Month
SELECT DATEADD(DD, -1, DATEADD(MM, DATEDIFF(MM, 0, GETDATE()) + 1, 0))
--First Day of the Previous Month
SELECT DATEADD(MM, DATEDIFF(MM, 0, GETDATE()) - 1, 0)
--Last Day of the Previous Month
SELECT CONVERT(DATETIME,CONVERT(DATE,DATEADD(DD, -(DAY(GETDATE())), GETDATE())))
--First Day of the Next Month
SELECT DATEADD(MM, DATEDIFF(MM, 0, GETDATE()) + 1, 0)
--Last Day of the Next Month
SELECT DATEADD (DD, -1, DATEADD(MM, DATEDIFF(MM, 0, GETDATE()) + 2, 0))