Las fechas es un factor importante a la hora de hacer nuestra selección de información de la base de datos. Para esto, frecuentemente, necesitamos el primer o último día de algún mes en específico para completar nuestro análisis. Para obtener el primer o último día de cada mes utilizamos las siguientes funciones.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| DECLARE @mydate DATETIME SELECT @mydate = GETDATE() SELECT CONVERT ( VARCHAR (25),DATEADD(dd,-( DAY (@mydate)),@mydate),101) , 'Último día del mes anterior' UNION SELECT CONVERT ( VARCHAR (25),DATEADD(dd,-( DAY (@mydate)-1),@mydate),101) AS Date_Value, 'Primer día del mes corriente' AS Date_Type UNION SELECT CONVERT ( VARCHAR (25),@mydate,101) AS Date_Value, 'Hoy' AS Date_Type UNION SELECT CONVERT ( VARCHAR (25),DATEADD(dd,-( DAY (DATEADD(mm,1,@mydate))),DATEADD(mm,1,@mydate)),101) , 'Último día del mes corriente' UNION SELECT CONVERT ( VARCHAR (25),DATEADD(dd,-( DAY (DATEADD(mm,1,@mydate))-1),DATEADD(mm,1,@mydate)),101) , 'Primer día del mes siguiente' GO |
El query anterior hace referencia a la fecha de hoy. De la misma manera se puede utilizar para cualquier otra fecha.
Fuente aquí