3

我的查询是

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

我错过了什么?

4

1 回答 1

8

DATENAME返回一个字符串。

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

于 2012-12-19T22:05:22.167 回答