Соответствие Oracle SQL Regexp_replace
Вот фанки соответствия, которые мне нужно выполнить.
A5.1.9.11.2
Должен стать:
A05.01.09.11.02
Количество разделов DOT будет варьироваться от одного до многих. И буква "А" всегда будет там и всегда будет 1 символом.
Я хотел бы использовать функцию regexp_replace(), чтобы использовать это как механизм сортировки. Благодарю.
1 ответ
Решение
Oracle SQL не поддерживает косвенные утверждения, которые были бы полезны для этого случая:
s/([0-9](?<![0-9]))/0\1/g
Вам придется использовать как минимум две замены:
REGEXP_REPLACE(REGEXP_REPLACE(col, '([0-9]+)', '0\1'), '0([0-9]{2})', '\1')