我在使用 oracle 10g 时遇到排序问题。不确定它是否特定于 10g。
我有下表:
ID NAME
1 A.1
2 A.3
3 A.4
4 A.5
5 A.2
6 A.5.1
7 A.5.2
8 A.5.10
9 A.5.10.1
10 A.5.3
执行泛型SELECT NAME FROM table_name ORDER BY 1
会产生:
A.1
A.2
A.3
A.4
A.5
A.5.1
A.5.10
A.5.10.1
A.5.2
A.5.3
当这些部分的数字大于 9 时,我希望它能够正确排序,如下所示:
A.1
A.2
A.3
A.4
A.5
A.5.1
A.5.2
A.5.3
A.5.10
A.5.10.1
我有比这更多的数字条目,长度不同,许多部分的数字段大于 10。我试图在 order by 子句中弄乱 regexp_replace() 但没有运气。任何帮助将不胜感激。