Professional Documents
Culture Documents
Sorting - Sort A String Like A Number
Sorting - Sort A String Like A Number
This small variation on one of the methods in the other thread mentioned might be what you want: WITH test AS ( SELECT '3' ver FROM DUAL UNION SELECT '4' FROM DUAL UNION SELECT '5' FROM DUAL UNION SELECT '6' FROM DUAL UNION SELECT '50A' FROM DUAL UNION SELECT '50' FROM DUAL UNION SELECT '78' FROM DUAL UNION SELECT '124' FROM DUAL UNION SELECT '50A9ZZZZ' FROM DUAL UNION SELECT '50A10AAA' FROM DUAL ) SELECT * FROM test ORDER BY RegExp_Replace (RegExp_Replace (ver, '(\d+)', '0000000\1.'), '0+(........)\.', '\1'); VER -------3 4 5 6 50 50A 50A9ZZZZ 50A10AAA 78 124 10 rows selected.