--Último dia do mês anterior
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
--Último dia do mês atual
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0))
--Último dia do próximo mês
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+2,0))
quinta-feira, 20 de agosto de 2009
Assinar:
Postar comentários (Atom)
Ola Fausto,
ResponderExcluirComo faco pra saber o primeiro dia do mes anterior utilizando estas funcoes?
Obrigado
Ricardo
Sou Júnior Plácido, e tenho uma maneira mais prática e fácil.
ResponderExcluirDECLARE @DATA DATE
DECLARE @ULTIMODIA DATE
SET @DATA = '31/01/2013'
SET @ULTIMODIA = DATEADD(D,-DAY(@DATA),DATEADD(M,1, @DATA))
SELECT DATEPART(DAY,@ULTIMODIA)
Primeiro ele adiciona +1 ao mês, levando um mês a frente, logo depois ele diminui os dias, pegando assim o último dia do mês anterior que é o atual neste caso
Pena qe não funciona corretamente junior, quando chega em fevereiro buga janeiro, e os meses com 31 dias terminam com 30
ResponderExcluir