Como obter primeiro e último dia do mês anterior (com registro de data e hora) no SQL Server

Não encontrei a solução que fornece o primeiro e o último dia do mês anterior com o registro de data e hora. Espero que isso ajude os outros. Se já existe uma solução para este problema, peço desculpas.

Aqui está a solução.

 SELECT DATEADD(month, DATEDIFF(month, -1, getdate()) - 2, 0) as FirtDayPreviousMonthWithTimeStamp,
    DATEADD(ss, -1, DATEADD(month, DATEDIFF(month, 0, getdate()), 0)) as LastDayPreviousMonthWithTimeStamp

Isso retornará o seguinte securrentdate = '2012-7-31'

resultado:2012-06-01 00:00:00.000 2012-06-30 23:59:59.000

Isso retornará o seguinte securrentdate = '2012-1-1'

resultado:2011-12-01 00:00:00.000 2011-12-31 23:59:59.000

questionAnswers(11)

yourAnswerToTheQuestion