Если все остальное терпит неудачу добавить виртуальный столбец, который определяет необходимые преобразования и сортировать по этому столбцу.
пример
alter table tab
add col_order as (replace(col,'§ ','§0'));
Обратите внимание, что это только Чтобы преобразовать образец для обработки представленных данных, вам придется приложить немало усилий, чтобы получить правильную замену для вас полных данных.
Основная проблема, которую я вижу, заключается в заполнении всех частей столбца, которые должны интерпретироваться как числа и быть пустыми, с нулями.
Теперь сортировка запросов по новому столбцу col_order
select * from tab order by col_order;
COL COL_ORDER
--------------- ---------------------------------------------
Act § 4 Act §04
Act § 6 Act §06
Act § 7 Act §07
Act §10 Act §10
Act §13(b)(2) Act §13(b)(2)
Act M Act M
Act Rule 10a- 2 Act Rule 10a- 2
Act S Act S