您需要將其拆分爲年份&月然後應用Order By子句。
模式:
CREATE TABLE #TAB (NAME VARCHAR(50))
INSERT INTO #TAB
SELECT '2016july'
UNION ALL
SELECT '2016september'
UNION ALL
SELECT '2016december'
UNION ALL
SELECT '2016january'
UNION ALL
SELECT '2017february'
UNION ALL
SELECT '2017june'
UNION ALL
SELECT '2017march'
現在不要選擇像下面
SELECT NAME
, CAST(SUBSTRING(NAME, 1, PATINDEX('%[a-z]%',NAME)-1) AS INT) YEAROF
,DATEPART(MM, SUBSTRING(NAME,PATINDEX('%[a-z]%',NAME),LEN(NAME)) +' 01 2017') MONTHOF
FROM #TAB
ORDER BY YEAROF,MONTHOF
結果:
+---------------+--------+---------+
| NAME | YEAROF | MONTHOF |
+---------------+--------+---------+
| 2016january | 2016 | 1 |
| 2016july | 2016 | 7 |
| 2016september | 2016 | 9 |
| 2016december | 2016 | 12 |
| 2017february | 2017 | 2 |
| 2017march | 2017 | 3 |
| 2017june | 2017 | 6 |
+---------------+--------+---------+
mysql或SQL-Server? – Jens
我正在使用sql-server,我需要在sql-server – Rahul