sql >> Databasteknik >  >> RDS >> Sqlserver

Datediff GETDATE Lägg till

Det är inte ett datumintervall.

Tillståndet du har där är egentligen bara ett villkor:större än. Den högra sidan av större än är 6 dagar sedan, så ditt tillstånd matchar alla datum som är senare än datumet för sex dagar sedan. Med andra ord, det stannar inte vid Idag; det inkluderar imorgon, nästa vecka och nästa år också.

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

Det är vad du verkligen vill. Den matchar datum som är senare än midnatt på dagen för 7 dagar sedan, och datum som är före midnatt idag (vilket är när som helst i går).



  1. Onödiga frågor i Hibernate - MySql

  2. Importera XML i PHP för att lägga till i Mysql DB

  3. Synkronisera data mellan två olika databaser

  4. ORA-00904:Bra resort:ogiltig identifierare