将现有字符串中一组字符的所有匹配项替换为其他指定字符。
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 |
+-------+----------+----------+