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

Získání počátečního a koncového data týdne? Na SQL serveru?

Následující bude fungovat bez ohledu na to, co považujete za první den v týdnu (neděle, pondělí atd.), jen se ujistěte, že používáte SET DATEFIRST pokud chcete změnit výchozí nastavení. SET DATEFIRST 1 bude první den v týdnu pondělí.

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

UPRAVIT

Právě jsem si znovu přečetl vaši žádost a myslím, že možná hledáte něco jiného, ​​než co jsem uvedl výše. Pokud chcete den v týdnu prvního a posledního v měsíci, bude to stačit:

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. Jak mohu analyzovat data objektů z databáze MySQL pomocí PHP PDO?

  2. Jak provedu uloženou proceduru MS SQL Server v java/jsp a vrátím data tabulky?

  3. Jaký je nejvhodnější datový typ pro uložení IP adresy na SQL serveru?

  4. heroku, postgreSQL, django, comments, tastypie:Zadanému jménu a typu argumentu neodpovídá žádný operátor. Možná budete muset přidat explicitní přetypování