SQL SORT BY DATENAME不起作用

时间:2012-12-19 22:03:09

标签: sql sql-server tsql

我的查询是

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 

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

9
8
 7....till 1 then 19, 18...till 11

我错过了什么?

1 个答案:

答案 0 :(得分:8)

DATENAME返回一个字符串。

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