У меня есть столбец с аббревиатурами, разделенными такими пробелами, как этот
'BG MSG'
Также есть еще одна таблица с подстановками
target replacement
----------------------
'BG', 'Brick Galvan'
'MSG', 'Mosaic Galvan'
Цель состоит в том, чтобы применить все подстановки к аббревиатурам, чтобы получить что-то вроде
'Brick Galvan Mosaic Galvan'
из 'BG MSG'
Я знаю, что мог бы сделать
replace( replace('BG MSG', 'BG', 'Brick Galvan'), 'MSG', 'Mosaic Galvan')
Но представьте, что есть сотни подстановок и они могут меняться от одного дня к другому. Результирующий запрос будет ужасно поддерживать.
Я имею в виду, я мог бы создать генератор кода, который будет создавать запрос со всеми вложенными заменами, но я ищу что-то более элегантное и postgres -нативное .
Я нашел такие решения Как заменить несколько специальных символов в Postgres 9.5 , но они, похоже, работают только для одиночных символов.