用法: (此函数为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 inexpr
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 forREGEXP_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)
使用示例:
表数据
功能需求:把 name 字段中的a标签内容替换为空
实现SQL:
UPDATE tableName set `name` = REGEXP_REPLACE(`name`, '<.*>', '') WHERE `name` REGEXP '<.*>';