sql >> Databáze >  >> RDS >> Sqlserver

jak získat data aktuálního týdne pouze na SQL serveru?

Udělejte to takto:

SET DATEFIRST 1 -- Define beginning of week as Monday
SELECT [...]
AND WorkDate >= dateadd(day, 1-datepart(dw, getdate()), CONVERT(date,getdate())) 
AND WorkDate <  dateadd(day, 8-datepart(dw, getdate()), CONVERT(date,getdate()))

Vysvětlení:

  • datepart(dw, getdate()) vrátí číslo dne v aktuálním týdnu, od 1 do 7, počínaje tím, co jste zadali pomocí SET DATEFIRST .
  • dateadd(day, 1-datepart(dw, getdate()), getdate()) odečte potřebný počet dní k dosažení začátku aktuálního týdne
  • CONVERT(date,getdate()) se používá k odstranění časové části GETDATE(), protože chcete, aby data začínala o půlnoci.


  1. asp.net / MySQL:Přístup odepřen uživateli ''@'localhost' (s použitím hesla:NE)

  2. znak 0xc286 kódování UTF-8 nemá ekvivalent ve WIN1252....Při konverzi pomocí iconv postgres restore zhroutí

  3. Vysvětlení operátora MariaDB UNION

  4. Export dat v SQL Server jako INSERT INTO