@rudev
есть, у меня тоже самое
А как через regex_replace написать выражение, что бы удалить первый и последний символ в строке с учетом того, что они «одиночки»?
В примере ниже нужно удалить буквы «с» и «г», при этом буквы в наименовании город не должны быть удалены
SELECT ‘г Москва’ nme from dual
UNION ALL
SELECT ‘Москва г’ from dual
UNION ALL
SELECT ‘Архыз с’ from dual
UNION ALL
SELECT ‘с Архыз’ from dual
UNION ALL
SELECT ‘г о Улан-Удэ’ from dual
UNION ALL
SELECT ‘Агрос село’ from dual
UNION ALL
SELECT ‘Арзамас г’ from dual
UNION ALL
SELECT ‘г Гагарин’ from dual
UNION ALL
SELECT ‘г Санкт-Петербург’ from dual
UNION ALL
SELECT ‘Санкт-Петербург г’ from dual
А чтобы не подвисал при длинных строках есть ON OVERFLOW TRUNCATE ‘…’
LISTAGG(distinct column_value, ‘; ‘ ON OVERFLOW TRUNCATE ‘…’)
Пример данных:
Москва, Генерала Белова, д. 100, кв. 120, дом. 75555555555, моб. 7 955 555-5555
select * from all_source
where owner = ‘&owner’
and name = ‘&proc_name’
and type = ‘PROCEDURE’
Коллеги, подскажите как заменить вхождение «Акционерное общество» на «АО» без учета регистра?
В функции regexp_replace ставлю в конце параметр ‘i’, но он все равно не меняет. При этом если «Акционерное общество» заменить просто любым одним символом, то меняет
select regexp_replace(’16|2/|3 |7 |8′, ‘(?<!\/)\|', ';') from dual;
Регулярку проверил для питона, PHP она корректно работает, а для Oracle не понимаю, как сделать альтернативу.
]]>