我在使用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(),但没有成功。非常感谢您的帮助。