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.
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.
Para conseguir el último día del mes en las nuevas versiones de SQL Server podemos usar la función nativa EOMONTH. Por ejemplo:
DECLARE @mydate DATETIME SELECT @mydate = GETDATE() SELECT EOMONTH ( @mydate, -1 ), 'Último día del mes anterior' UNION select EOMONTH( @mydate ), 'Último día del mes corriente' UNION SELECT EOMONTH( @mydate, 1 ),'Último día del mes siguiente' GO
No olvides ver mis otras publicaciones populares sobre SQL:
- 7 trucos de SQL para principiantes
- SQL Server: Formato correcto de escribir la fecha
- SQL Server: Generar números aleatoriamente
- Cómo usar regular expression en SQL Server
- Obtener solo la fecha de un campo datetime en SQL
Únete a sobre 3,000 programadores y recibe acceso
A nuestra librería de recursos gratuitos para programadores
* Garantizamos 100% su privacidad. Su información no será compartida.
Roberto Torres Rodríguez
Related posts
3 Comments
Deja una respuesta Cancelar la respuesta
Publicaciones Populares
Categorías
- ASP.Net (6)
- C# (10)
- CSS (5)
- DIY (1)
- General (5)
- JavaScript (8)
- JQuery (6)
- Kodi (antes XBMC) (4)
- Nuevo (3)
- Raspberry Pi (2)
- SQL Server (15)
- Uncategorized (1)
- Vue.js (2)
- Wordpress (1)
Muchísimas gracias por el aporte, me sirvió mucho, muy valioso
Gracias
buen aporte