REPLACE 函数
将现有字符串中一组字符的所有匹配项替换为其他指定字符。
REPLACE 与 TRANSLATE 函数和 REGEXP_REPLACE 函数相似,只不过 TRANSLATE 进行多次单字符替换,REGEXP_REPLACE 可让您在字符串中搜索正则表达式模式,而 REPLACE 一次性将整个字符串替换为其他字符串。
语法
REPLACE(string, old_chars, new_chars)
参数
- string
-
要搜索的
CHAR
或VARCHAR
字符串 - old_chars
-
要替换的
CHAR
或VARCHAR
字符串。 - new_chars
-
用于替换 old_string 的新
CHAR
或VARCHAR
字符串。
返回类型
- VARCHAR
-
如果 old_chars 或 new_chars 为
NULL
,则将返回NULL
。
示例
以下示例使用 TICKIT 示例数据库的 CATEGORY 表中的数据。有关更多信息,请参阅 示例数据库。
要将 CATGROUP 字段中的字符串 Shows
转换为 Theatre
,请使用以下示例。
SELECT catid, catgroup, REPLACE(catgroup, 'Shows', 'Theatre') FROM category ORDER BY 1,2,3;
+-------+----------+----------+ | catid | catgroup | replace | +-------+----------+----------+ | 1 | Sports | Sports | | 2 | Sports | Sports | | 3 | Sports | Sports | | 4 | Sports | Sports | | 5 | Sports | Sports | | 6 | Shows | Theatre | | 7 | Shows | Theatre | | 8 | Shows | Theatre | | 9 | Concerts | Concerts | | 10 | Concerts | Concerts | | 11 | Concerts | Concerts | +-------+----------+----------+