我有一个名为 templateType 的表,它有一个名为 Template_Text 的列。 该模板有许多使用 mysql 的智能标签 <> 到 [tag],我需要将 << 替换为 [ 和 >> 为 ]。
根据 OP 的评论编辑:
这是一个带有大文本和多个智能标签的模板。例如:" I <<Fname>> <<Lname>>, <<UserId>> <<Designation>> of xyz organization, Proud to announce...."
这里我需要将这些 << 替换为 [ 并将 >> 替换为 ],所以它看起来像
" [Fname] [Lname], [UserId] ...."
最佳答案
根据您的意见,您的 MySQL 版本不支持 Regex_Replace()
功能。因此,通用解决方案是不可行的。
假设您的字符串不包含额外的 <<
和 >>
, 除了遵循 <<%>>
格式,我们可以使用 Replace()
功能。
我还添加了一个 WHERE
条件,以便我们只选择那些符合给定子字符串条件的行。
Update templateType
SET Template_Text = REPLACE(REPLACE(Template_Text, '<<', '['), '>>', ']')
WHERE Template_Text LIKE '%<<%>>%'
如果问题更复杂,您可能会从这个答案中得到一些想法:https://stackoverflow.com/a/53286571/2469308
关于mysql - 将模板智能标签 <<tag>> 替换为 mysql 中的 [tag],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53294335/