【发布时间】:2018-09-05 07:33:44
【问题描述】:
我有一个 SQL Server 2016 表,它将以下数据存储在 varchar 中,如下所示:
1
1-1
1-1-1
1-2
1-1-1-20
1-1-1-5
1-1-2
1-1-1-25
1-15-2
1-1.5
它将按默认方式按 asc 排序:
1
1-1
1-1.5
1-1-1
1-1-1-20
1-1-1-25
1-1-1-5
1-1-2
1-15-2
1-2
但我想对'-'之间的每个数字进行排序,就像这样排序的数字
1
1-1
1-1.5
1-1-1
1-1-1-5
1-1-1-20
1-1-1-25
1-1-2
1-2
1-15-2
【问题讨论】:
-
您的数字中最多可以有多少个分隔符?
-
相应地在
order by构建您的逻辑 -
@GauravS 不确定,可能是 0 到 9 或更多
标签: sql sql-server string sorting