Ultimo dia del Mes con SQL Server y otros
Trabajando con funciones TSQL para realizar cálculos de Fechas
A continuación una serie de funciones en TSQL útiles para el cálculo de fechas:
-->Mes Actual: ----------------------------------- --Primer día del mes actual SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)) --Último día del mes actual SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)) -->Mes Anterior: ----------------------------------- --Primer día del mes anterior SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE())-1,0)) --Último día del mes anterior SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)) -->Mes Siguiente: ----------------------------------- ----Primer día del mes siguiente SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)) ----Último día del mes siguiente SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+2,0)) --> Trimestre Actual: ----------------------------------- ----Primer día del trimestre actual SELECT DATEADD(qq,DATEDIFF(qq,0,GETDATE()),0) ----Último día del trimestre actual SELECT DATEADD(qq,DATEDIFF(qq,-1,GETDATE()),-1)
Resultados
Con la fecha 10 de Noviembre del 2017 esto serían los resultados
Otra alternativa
Continuando con el trabajo con fechas con TSQL podemos hacer lo mismo, pero con una función nativa: EOMONTH()
Si les interesa les dejo el link, que incluye como siempre un caso práctico: