我的Version_ref_no列的值类似于
4.0.0.4
4.0.0.2
4.0.0.1
4.0.0.8
4.0.0.14
4.0.0.23
4.0.1.0
Oracle中是否有任何方法可以对其进行排序,以便OP应该
4.0.1.0
4.0.0.23
4.0.0.14
4.0.0.8
4.0.0.4
4.0.0.2
4.0.0.1
答案 0 :(得分:1)
SELECT * FROM YOUR_TABLE
ORDER BY
to_number(regexp_substr(COL1, '[^.]+', 1, 1)) DESC NULLS FIRST,
to_number(regexp_substr(COL1, '[^.]+', 1, 2)) DESC NULLS FIRST ,
to_number(regexp_substr(COL1, '[^.]+', 1, 3)) DESC NULLS FIRST ,
to_number(regexp_substr(COL1, '[^.]+', 1, 4)) DESC NULLS FIRST ;