

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

# TRIM 函数
<a name="r_TRIM"></a>

通过空白或指定的字符来剪裁字符串。

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

```
TRIM( [ BOTH | LEADING | TRAILING ] [trim_chars FROM ] string )
```

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

 BOTH \$1 LEADING \$1 TRAILING   
（可选）指定从何处剪裁字符。使用 BOTH 会删除前导和尾随字符，使用 LEADING 仅删除前导字符，使用 TRAILING 仅删除尾随字符。如果省略此参数，则会同时剪裁前导字符和尾随字符。

 *trim\$1chars*   
（可选）要从字符串剪裁的字符数。如果忽略此参数，则剪裁空白区域。

 *string*   
要剪裁的字符串。

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

TRIM 函数返回 `VARCHAR` 或 `CHAR` 字符串。如果您将 TRIM 函数与 SQL 命令结合使用，Amazon Redshift 会将结果隐式转换为 `VARCHAR`。如果您在 SQL 函数的 SELECT 列表中使用 TRIM 函数，Amazon Redshift 不会隐式转换结果，您可能需要执行显式转换以避免数据类型不匹配错误。有关显式转换的信息，请参阅 [CAST 函数](r_CAST_function.md)和 [CONVERT 函数](r_CONVERT_function.md) 函数。

## 示例
<a name="r_TRIM-example"></a>

要从字符串 ` dog ` 中剪裁前导和尾随空格，请使用以下示例。

```
SELECT TRIM('    dog    ');

+-------+
| btrim |
+-------+
| dog   |
+-------+
```

要从字符串 ` dog ` 中剪裁前导和尾随空格，请使用以下示例。

```
SELECT TRIM(BOTH FROM '    dog    ');

+-------+
| btrim |
+-------+
| dog   |
+-------+
```

要从字符串 `"dog"` 中删除前导双引号，请使用以下示例。

```
SELECT TRIM(LEADING '"' FROM'"dog"');

+-------+
| ltrim |
+-------+
| dog"  |
+-------+
```

要从字符串 `"dog"` 中删除尾随双引号，请使用以下示例。

```
SELECT TRIM(TRAILING '"' FROM'"dog"');

+-------+
| rtrim |
+-------+
| "dog  |
+-------+
```

当 *trim\$1chars* 中的任意字符出现在 *string* 的开头或结尾时，TRIM 都会予以删除。以下示例在字符“C”、“D”和“G”出现在 VENUENAME（即 `VARCHAR` 列）的开头或结尾时对其进行剪裁。有关更多信息，请参阅 [示例数据库](c_sampledb.md)。

```
SELECT venueid, venuename, TRIM('CDG' FROM venuename)
FROM venue
WHERE venuename LIKE '%Park'
ORDER BY 2
LIMIT 7;

+---------+----------------------------+---------------------------+
| venueid |         venuename          |           btrim           |
+---------+----------------------------+---------------------------+
|     121 | AT&T Park                  | AT&T Park                 |
|     109 | Citizens Bank Park         | itizens Bank Park         |
|     102 | Comerica Park              | omerica Park              |
|       9 | Dick's Sporting Goods Park | ick's Sporting Goods Park |
|      97 | Fenway Park                | Fenway Park               |
|     112 | Great American Ball Park   | reat American Ball Park   |
|     114 | Miller Park                | Miller Park               |
+---------+----------------------------+---------------------------+
```