Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

eriva_br

Código para encontrar / descobrir último dia do mês

Recommended Posts

Código para achar / localizar o último dia do mês em SQL Server

 

DECLARE @mes CHAR(2), @ano CHAR(4)	SET @mes = '02'	SET @ano = '2008'	SELECT DAY(DATEADD(d,-1,DATEADD(M,1,CONVERT(DATETIME,@ano + @mes + '01'))))			SET @mes = '02'	SET @ano = '2007'	SELECT DAY(DATEADD(d,-1,DATEADD(M,1,CONVERT(DATETIME,@ano + @mes + '01'))))
funções utilizadas:

DAY

DATEADD

CONVERT

 

 

 

AUTOR: "eriva_br"

 

Dúvidas, criticas, contribuições, correções e adições seram bem vindas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se posso adicionar algumas sugestões à esta dica, mas aí estão outras datas:

 

DECLARE @getdate DATETIME;

SET @getdate = GETDATE();

SELECT CAST('1) Data Processada'         AS VARCHAR(50)), @getdate
UNION
SELECT CAST('2) Primeiro dia do mês'     AS VARCHAR(50)), DATEADD(mm, DATEDIFF(mm, 0, @getdate), 0)
UNION
SELECT CAST('3) Primeiro dia da semana'  AS VARCHAR(50)), DATEADD(wk, DATEDIFF(wk, 0, @getdate), 0)
UNION
SELECT CAST('4) Inicio do dia'           AS VARCHAR(50)), DATEADD(dd, DATEDIFF(dd, 0, @getdate), 0)
UNION
SELECT CAST('5) Fim do dia'              AS VARCHAR(50)), DATEADD(ms ,-3 ,DATEADD(dd, DATEDIFF(dd, 0, @getdate) + 1, 0))
UNION
SELECT CAST('6) Último dia da semana'    AS VARCHAR(50)), DATEADD(ms ,-3 ,DATEADD(wk, DATEDIFF(wk, 0, @getdate) + 1, 0))
UNION
SELECT CAST('7) Último dia do mês'       AS VARCHAR(50)), DATEADD(ms ,-3 ,DATEADD(mm, DATEDIFF(mm, 0, @getdate) + 1, 0))

 

Nestes exemplos, se você trocar o @getdate pela data que você quiser, ela servirá de base para os calculos das datas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.