本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

772

MySQL 正则替换数据:REGEXP_REPLACE 函数

编程技术 | WangTwoThree | 2021-05-10 | 等你评论 | 3 次点赞

MySQL 正则替换数据:REGEXP_REPLACE 函数

用法

注意:此函数为 MYSQL8.0 版本新增,低于 8.0 版本没有此函数

REGEXP_REPLACE() 函数用于模式匹配。它通过匹配字符来替换给定的字符串字符。

REGEXP_REPLACE(expr, pat, repl[, pos[, occurrence[, match_type]]])

Replaces occurrences in the string expr that match the regular expression specified by the pattern pat with the replacement string repl, and returns the resulting string. If expr, pat, or repl is NULL, the return value is NULL.

(将字符串表达式中与模式 pat 指定的正则表达式匹配的匹配项替换为替换字符串 repl,并返回结果字符串。如果 expr、pat 或 repl 为 NULL,则返回值为 NULL)

REGEXP_REPLACE() takes these optional arguments:

  • pos: The position in expr at which to start the search. If omitted, the default is 1.
  • occurrence: Which occurrence of a match to replace. If omitted, the default is 0 (which means “replace all occurrences”).
  • match_type: A string that specifies how to perform matching. The meaning is as described for REGEXP_LIKE().
  • Prior to MySQL 8.0.17, the result returned by this function used the UTF-16 character set; in MySQL 8.0.17 and later, the character set and collation of the expression searched for matches is used. (Bug #94203, Bug #29308212)

使用示例

表数据

图片alt

功能需求:把 name 字段中的 a 标签内容替换为空

实现 SQL:

UPDATE tableName set `name` = REGEXP_REPLACE(`name`, '<.*>', '') WHERE `name` REGEXP '<.*>';

via:

MySQL 正则替换数据:REGEXP_REPLACE函数 - 代码天地
https://www.codetd.com/article/11975683

MySQL :: MySQL 8.0 Reference Manual :: 12.8.2 Regular Expressions
https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace


猜你喜欢

暂无评论

有话要说

本页二维码

扫码手机打开

浏览TOP5
热门标签
点赞TOP5
最新评论
别人在看