Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wählen Sie die letzten 30 Tage mit einer SQL-Abfrage aus

Sie können einen rekursiven CTE verwenden:

;WITH CTE AS
(
    SELECT convert(date,GETDATE()) sDate, DATENAME(DW, GETDATE()) sDayofWeek
    UNION ALL
    SELECT DATEADD(DAY,-1,sDate), DATENAME(DW, DATEADD(DAY,-1,sDate))
    FROM CTE
    WHERE sDate > GETDATE()-29
)
SELECT * FROM CTE