sql >> Base de Datos >  >> RDS >> Sqlserver

Datediff GETDATE Agregar

No es un intervalo de fechas.

La condición que tienes allí es realmente una sola condición:mayor que. El lado derecho del mayor que es hace 6 días, por lo que su condición coincide con cualquier fecha posterior a la fecha de hace seis días. En otras palabras, no se detiene en Hoy; incluye mañana, la próxima semana y el próximo año también.

AND ( Orders.ShipDate >= DATEADD(Day, Datediff(Day,0, GetDate() -7), 0)
      AND Orders.ShipDate < DATEADD(Day, Datediff(Day,0, GetDate()), 0) )

Eso es lo que realmente quieres. Coincide con las fechas que son posteriores a la medianoche del día de hace 7 días y las fechas que son anteriores a la medianoche de hoy (que es cualquier hora de ayer).