Una de las necesidades más comunes al recuperar datos de una consulta es filtrar por alguna fecha especial, como el primer dia del mes, o el primer dia de la semana actual.
Si el origen de la consulta es una base de datos SQL Server podemos utilizar los siguientes filtros:
Primer día del mes:
DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
Primer día de la semana actual:
DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)-
Primer lunes del mes:
DATEADD(wk, DATEDIFF(wk,0,DATEADD(dd,6-DATEPART(day,getdate()),getdate())), 0);
Primer día del año actual:
DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
Ultimo dia del mes anterior:
DATEADD(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate() ), 0))
Ultimo dia del año anterior:
DATEADD(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate() ), 0))
Notas:
Es importante que el campo a filtrar sea de tipo datetime.
También podemos utilizar los parámetros de contexto de ejecución predeterminados. Para acceder a ellos hacer click derecho en el valor a filtrar y seleccionar la pestaña correspondiente:
Tendremos varios formatos disponibles de las fechas de filtrado más utilizadas.
0 Comentarios