

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# REPLACE 函数
<a name="r_REPLACE"></a>

将现有字符串中一组字符的所有匹配项替换为其他指定字符。

REPLACE 与 [TRANSLATE 函数](r_TRANSLATE.md)和 [REGEXP\$1REPLACE 函数](REGEXP_REPLACE.md)相似，只不过 TRANSLATE 进行多次单字符替换，REGEXP\$1REPLACE 可让您在字符串中搜索正则表达式模式，而 REPLACE 一次性将整个字符串替换为其他字符串。

## 语法
<a name="r_REPLACE-synopsis"></a>

```
REPLACE(string, old_chars, new_chars)
```

## 参数
<a name="r_REPLACE-arguments"></a>

 *string*   
要搜索的 `CHAR` 或 `VARCHAR` 字符串 

 *old\$1chars*   
要替换的 `CHAR` 或 `VARCHAR` 字符串。

 *new\$1chars*   
用于替换 *old\$1string* 的新 `CHAR` 或 `VARCHAR` 字符串。

## 返回类型
<a name="r_REPLACE-return-type"></a>

VARCHAR  
如果 *old\$1chars* 或 *new\$1chars* 为 `NULL`，则将返回 `NULL`。

## 示例
<a name="r_REPLACE-examples"></a>

以下示例使用 TICKIT 示例数据库的 CATEGORY 表中的数据。有关更多信息，请参阅 [示例数据库](c_sampledb.md)。

要将 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 |
+-------+----------+----------+
```