How to Get First and Last Day of a Month in SQL Server

To get the first day of the previous month in SQL Server, use the following code:
SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) - 1, 0)
To get the last day of the previous month:
SELECT DATEADD(DAY, -(DAY(GETDATE())), GETDATE())
To get the first day of the current month:
SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)
To get the last day of the current month:
SELECT DATEADD (dd, -1, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) + 1, 0))
To get the first day of the next month:
SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) + 1, 0)
To get the last day of the next month:
SELECT DATEADD (dd, -1, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()) + 2, 0))