在我的表VARCHAR
数据类型列CartonNo
中,它包含数字或带有字母的数字,这取决于它。我希望它按数字排序,这将是可接受的升序排序。
- 第 1 期
例如,包含如下数据
1-2
1
3-5
6
1-2A
6-12
7-8
9-12D
9-12
17
9-12B
19
20-30
15-18
现在我想订购如下数据
1
1-2
1-2A
3-5
6
6-12
7-8
9-12
9-12B
9-12D
15-18
17
19
20-30
- 第 2 期
波纹管值 如何对字母数字进行排序?
PT15-8-2
PT15-12-10
PT15-12-3
PT15-12-572-575
PT15-12-31
PT11-96
PT11-133-36
PT11-133
PT16-136
PT8-644
PT09-655
PT9-655
PT12-752
PT14-752
PT13-752
PT14-753
PT10-778
PT13-977-978
PT13-979-988
谁能告诉我应该如何编写查询?
我假设在
-
你integer
总是有价值之前询问
完全订购
运行第二个查询后,输出将是
评论后更新:有时 varchar val 不会出现 (3-5) 或 (1-12A) 而不是整数 3 或 5...当时上述答案出错...如何更正排序方式.
结果:
ORDER BY LEN(column1), column1,LEN(column2), column2,LEN(column3), column3
通常适用于“通过数字排序对字母数字值进行排序”的一般情况。您可以根据需要按任意数量的列排序
对此感到抱歉
我认为下面的查询很好