Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Datediff GETDATE Dodaj

To nie jest zakres dat.

Warunek, który masz, jest tak naprawdę tylko jeden:większy niż. Prawa strona daty większej niż 6 dni temu, więc Twój stan pasuje do dowolnej daty, która jest późniejsza niż ta sprzed sześciu dni. Innymi słowy, nie kończy się na Dzisiaj; obejmuje to jutro, przyszły tydzień i przyszły rok.

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

Tego naprawdę chcesz. Pasuje do dat, które są późniejsze niż północ dnia 7 dni temu, oraz dat, które są przed północą dzisiaj (czyli o dowolnej porze wczoraj).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmienna lokalna niedostępna po partii deklaracji

  2. Pobieranie danych z MS SQL Server-2008 odwołujących się do wielu tabel

  3. Profiler serwera SQL nie wyświetla zapytań LINQ To Sql

  4. Czy mogę utworzyć funkcję globalną w SQL Server?

  5. SQL Server - Zaokrąglaj wartości TIME do następnej minuty