如何在SQL Server中获得MMYYYY格式?

Zac*_*ach 3 sql sql-server date

好吧,这个问题有点误导......我知道从日期开始获取MMYYYY格式的几种不同方法,但它需要将字符串转换为VARCHAR.虽然这一切都很好,花花公子,但排序结果却成了真正的痛苦.

这是我正在使用的:

SELECT  
CONVERT(VARCHAR(2),MONTH(TransactionDte)) + '/' + CONVERT(VARCHAR(4),YEAR(TransactionDte) AS MMYYYY  
,SUM(TransactionCt) AS TransCt  
,SUM(TransactionAmt) AS TransAmt  
FROM Transactions  
GROUP BY CONVERT(VARCHAR(2),MONTH(TransactionDte)) + '/' + CONVERT(VARCHAR(4),YEAR(TransactionDte)
Run Code Online (Sandbox Code Playgroud)

结果显示如下:
1/2010
1/2011
10/2010
10/2011
11/2010
11/2011
12/2010
12/2011
2/2010
2/2011
3/2010
3/2011
等..

我正在尝试按日期升序排序.正如你所看到的,他们没有...有没有办法得到我想要实现的目标?

提前致谢!

SQL*_*ace 5

出什么问题了

ORDER BY TransactionDte DESC
Run Code Online (Sandbox Code Playgroud)

甚至

order by  CONVERT(VARCHAR(4),YEAR(TransactionDte) + CONVERT(VARCHAR(2),MONTH(TransactionDte)) DESC
Run Code Online (Sandbox Code Playgroud)

  • +1,无需转换为您的订单. (2认同)