Ayları Sıralama

Mssql'de aylık rapor almak istediğimiz de yada başka durumlarda ayları sırasına göre listelemek gerekebiliyor.

Bu gibi durumlarda ise aşağıdaki sorgu ile ayları sıralayabiliriz.

set language Turkish
;WITH months(MonthNumber) AS
(
    SELECT 0
    UNION ALL
    SELECT MonthNumber+1 
    FROM months
    WHERE MonthNumber < 12
)
SELECT DATENAME(MONTH,DATEADD(MONTH,-MonthNumber,GETDATE())) AS [MonthName],Datepart(MONTH,DATEADD(MONTH,-MonthNumber,GETDATE())) AS MonthNumber
FROM months
ORDER BY Datepart(MONTH,DATEADD(MONTH,-MonthNumber,GETDATE()))
;