Замените смарт-теги шаблона <<tag>> на [tag] в mysql - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть имя таблицы templateType, имя столбца Template_Text.В шаблоне есть много смарт-тегов <> to [tag] с использованием mysql, и мне нужно заменить << to [и >> на].

Редактировать из комментариев OP:

Это шаблон с большим текстом и несколькими смарт-тегами.Как пример: " I <<Fname>> <<Lname>>, <<UserId>> <<Designation>> of xyz organization, Proud to announce...."

Здесь мне нужно заменить эти << на [и >> на], так что это будет выглядеть как

" [Fname] [Lname], [UserId] ...." 

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Пара replace звонков должна работать:

SELECT REPLACE(REPLACE(template_text, '<<', '['), '>>', '])
FROM   template_type
0 голосов
/ 14 ноября 2018

Судя по вашим комментариям, ваша версия MySQL не поддерживает функцию Regex_Replace().Таким образом, общее решение неосуществимо.

Предполагая, что ваша строка не содержит дополнительных << и >>, кроме следующих за форматом <<%>>, мы можем использовать функцию Replace().

Я также добавил условие WHERE, чтобы мы выбирали только те строки, которые соответствуют нашим заданным критериям подстроки.

Update templateType
SET Template_Text = REPLACE(REPLACE(Template_Text, '<<', '['), '>>', ']')
WHERE Template_Text LIKE '%<<%>>%'

В случае, если проблема является более сложной, вы можете получить некоторые идеи из этого ответа: https://stackoverflow.com/a/53286571/2469308

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...