在数据库中有一个表格,其中包含
之类的月份 Month
------------
MTH_01_2012
MTH_02_2013
MTH_03_2013
MTH_04_2013
MTH_05_2013
MTH_01_2014
MTH_03_2014
如何以降序检索结果?
就像输出一样
Month
-----------
MTH_03_2014
MTH_01_2014
MTH_05_2013
MTH_04_2013
MTH_03_2013
MTH_02_2013
MTH_01_2012
答案 0 :(得分:7)
SELECT *
FROM TABLE_NAME
ORDER BY RIGHT([Month], 4) DESC , SUBSTRING([Month], 5, 2) DESC
答案 1 :(得分:0)
使用PARSENAME内置方法来解析您的查询。 尝试这一个查询而不是右和子串。它不能给你准确的命令
Select *
From MonthMast
Order By
PARSENAME(Replace([MONTH],'_','.'), 1) DESC,
PARSENAME(Replace([MONTH],'_','.'), 2) DESC
输出是:
Month
-------------
MTH_03_2014
MTH_01_2014
MTH_05_2013
MTH_04_2013
MTH_03_2013
MTH_02_2013
MTH_01_2012
检查查询。决定哪个查询最好