
SQL Server :
--First day of last month
SELECT DATEADD(m,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()), 0)) as StartDate
--Last day of last month
SELECT DATEADD(d,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)) as EndDate
SELECT DATEADD(s, -1, DATEADD(Month, 1, DATEADD(Month, DATEDIFF(Month, 0, GETDATE()), 0))) as EndDateTime