SQL SORT BY DATENAME不起作用

Mar*_*ark 3 sql t-sql sql-server

我的疑问是

USE MyDB

SELECT DATENAME(DD, s.requestdate)
FROM   sample_table s
WHERE  MONTH(s.requestdate) = 12
GROUP  BY DATENAME(DD, s.requestdate)
ORDER  BY DATENAME(DD, s.requestdate) DESC 
Run Code Online (Sandbox Code Playgroud)

我期望的输出是按月降序排序,但我的输出是按此顺序排序的

9
8
 7....till 1 then 19, 18...till 11
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Mar*_*ith 8

DATENAME 返回一个字符串.

DATEPART(DD,s.requestdate)改为使用它返回一个整数,并按预期排序.