Как применить regex_replace к нескольким столбцам из нескольких таблиц?
У меня есть 2 таблицы «email» и «languageEmail», каждая из которых содержит столбцы «bodyText» и «bodyHtml».«Я хочу заменить все найденные ссылки в этих 4 столбцах той же самой ссылкой + новым параметром.
До сих пор я сделал регулярное выражение (POSIX), которое, кажется, соответствует всем моим ссылкам URL.
((http(s)?:\/\/)|(www\.))[a-zA-Z0-9@:%._\+~#=&\/?]{2,256}(\b|\s)
Я сделал SQL-запрос, который находит нужные столбцы.
SELECT
"email"."bodyText",
"email"."bodyHtml",
"languageEmail"."bodyText",
"languageEmail"."bodyHtml"
FROM
"db"."email",
"db"."languageEmail";
Я прочитал собственную документацию postgres, но примеров использования regex_replace в SQL-запросе нет, я посмотрел вДокументация оракулов, и у них есть несколько примеров чего-то похожего на то, чего я хочу достичь, но я не могу соединить точки сам и сделать это правильно.
Пример того, чего я хочу достичь:
languageEmail.bodyHtml с идентификатором 75 имеет значение:
<h1>hello world</h1> <a href="www.awsome.com/yes">click here</a>
languageEmail.bodyText с идентификатором 75имеет значение:
hello worldcplease visit www.awsome.com/yes
Я хочу добавить параметр & page = 1 ко всем ссылкам / URL
, поэтому после выполнения запроса с regex_replace languageEmail.bodyHtml с идентификатором 75 должен выглядеть следующим образом:
<h1>hello wordl</h1> <a href="www.awsome.com/yes&page=1">click here</a>
languageEmail.bodyText с идентификатором 75 должен выглядеть следующим образом:
hello worldcplease visit www.awsome.com/yes&page=1