sábado, 20 de julho de 2013

SQL SERVER – Pegar o ultimo dia e o primeiro da data atual



Outro dia estava criando uma procedure no sql server 2005 onde eu tinha que pegar o primeiro dia do mês corrente e o ultimo dia do Mês corrente, então usei o seguinte algoritmo.

-- Declarando as variaveis
declare @DiaCorrido int
declare @FimDoMes datetime
declare @InicioDoMes datetime

--Descobrindo quantos dias já foi percorrido
set @DiaCorrido = DATEPART(day,getdate())

-- Pegando o primeiro dia do mês corrente
set @InicioDoMes = DateAdd(day,(- @DiaCorrido) + 1 ,getdate())

-- Pegando o ultimo dia do mês corrente
set @FimDoMes =  DATEADD(DAY,-1,DATEADD(MONTH,1,@InicioDoMes))

--Apresentando o resultado

select @InicioDoMes -- 01/06/2011
select @FimDoMes    -- 30/06/2011

Nenhum comentário:

Postar um comentário