Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Sélectionnez les 30 derniers jours avec une requête sql

Vous pouvez utiliser un CTE récursif :

;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