Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

как да получа данни за текущата седмица само в SQL сървър?

Направете го така:

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()))

Обяснение:

  • datepart(dw, getdate()) ще върне номера на деня в текущата седмица от 1 до 7, започвайки с това, което сте посочили с помощта на ЗАДАВА ПЪРВА ДАТА .
  • dateadd(day, 1-datepart(dw, getdate()), getdate()) изважда необходимия брой дни, за да стигне до началото на текущата седмица
  • CONVERT(date,getdate()) се използва за премахване на времевата част на GETDATE(), защото искате данните да започват в полунощ.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли такова нещо като твърде много маси?

  2. Как да използвате клаузата Where в Select Statement в SQL Server - SQL Server / TSQL Урок, част 109

  3. Начини за мигриране на база данни на SQL Server към Azure SQL база данни

  4. Основи на оператора ALTER TABLE на SQL Server

  5. Добавете колона към SQL Server