【发布时间】:2016-01-25 20:33:35
【问题描述】:
我需要对字母数字和数字排序应用排序。
例子:
319,
519,
620,
1154,
1195,
319lov,
319,
620lov
我需要这样的结果:
319,
319,
319lov,
519,
620,
620lov,
1154,
1195,
我已应用以下代码进行排序:
SELECT Name
FROM TableName
ORDER BY CAST(CASE
WHEN Name LIKE '[0-9][0-9][0-9][0-9]%' THEN LEFT(Name ,4)
WHEN Name LIKE '[0-9][0-9][0-9]%' THEN LEFT(Name ,3)
ELSE NULL
END AS INT)
得到的结果如下:
319,
319lov,
319,
519,
620,
620lov,
1154,
1195,
【问题讨论】:
-
在
AS INT)之后添加, Name -
@JamieD77 它运行良好。谢谢
标签: sql sql-server sorting sql-order-by natural-sort