我有一个数据列表,我想对它们进行降序排序,但是我想从数字开始,然后转到字符串。
我要寻找的示例。
43a
34a
22a
11d
ztc
xtc
ytc
但是如果你只是做
SELECT list FROM table ORDER BY list DESC;
它输出这样的列表。
ztc
xtc
ytc
43a
34a
22a
11d
有没有办法做到这一点?
测试台
CREATE TABLE Data (str varchar(3))
INSERT INTO Data
SELECT '43a' UNION
SELECT '34a' UNION
SELECT '22a' UNION
SELECT '11d' UNION
SELECT 'ztc' UNION
SELECT 'xtc' UNION
SELECT 'ytc'
TSQL
SELECT str FROM DATA
ORDER BY 1-ISNUMERIC(LEFT(str, 1)) , str DESC
ISNUMERIC对于数字返回1,对于非数字返回0,因此,如果u1-ISNUMERIC
首先排序-数字首先出现。之后,您可以按字段DESC排序
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句