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

Получаване на начална и крайна дата на седмицата? В Sql сървър?

Следното ще работи независимо от първия ден от седмицата, който прецените (неделя, понеделник и т.н.), просто се уверете, че използвате SET DATEFIRST ако искате да промените от по подразбиране. SET DATEFIRST 1 ще направи първия ден от седмицата понеделник.

SELECT  DATEADD(DAY, 1 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekStart],
        DATEADD(DAY, 7 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekEnd]

РЕДАКТИРАНЕ

Току-що препрочетох молбата ви и мисля, че може да търсите нещо различно от това, което дадох по-горе. Ако искате деня от седмицата на първия и последния от месеца, това ще свърши работа:

SELECT  DATENAME(WEEKDAY, DATEADD(DAY, 1 - DATEPART(DAY, GETDATE()), GETDATE())) [FirstDayOfMonth],
        DATENAME(WEEKDAY, DATEADD(DAY, - DATEPART(DAY, DATEADD(MONTH, 1, GETDATE())), DATEADD(MONTH, 1, GETDATE()))) [LastDayOfMonth]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да вградите функционалност RUNAS /NETONLY в програма (C#/.NET/WinForms)?

  2. Научете дизайн на база данни със SQL Server Management Studio (SSMS) – част 2

  3. SQRT() Примери в SQL Server

  4. SQL Server 2008 е инсталиран, въпреки че работещата версия все още е 2005

  5. Достъпът е отказан при прикачване на база данни