sql >> Database teknologi >  >> RDS >> Sqlserver

Får du ugens start- og slutdato? i sql server?

Følgende vil fungere, uanset hvad du tænker på den første dag i ugen (søndag, mandag osv.), bare sørg for at bruge SET DATEFIRST hvis du vil ændre fra standarden. SET DATEFIRST 1 vil gøre den første dag i ugen til mandag.

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

REDIGER

Jeg har lige genlæst din anmodning, og jeg tror, ​​du kan være ude efter noget andet end det, jeg har givet ovenfor. Hvis du vil have ugedagen i den første og sidste i måneden, vil dette gøre tricket:

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. SQL Server:Kommunikationsforbindelsesfejl Påkrævet SSL (kan ikke modtage pakke)

  2. Tjek for referencemæssig integritetsbrud

  3. cx_Oracle:Brug af PL/SQL RECORD-typer som argumenter til lagrede procedurer

  4. Hvordan kan jeg bruge to where-klausuler i en SQL-forespørgsel