从 2025 年 11 月 1 日起,Amazon Redshift 将不再支持创建新的 Python UDF。如果您想要使用 Python UDF,请在该日期之前创建 UDF。现有的 Python UDF 将继续正常运行。有关更多信息,请参阅博客文章
TRIM 函数
通过空白或指定的字符来剪裁字符串。
语法
TRIM( [ BOTH | LEADING | TRAILING ] [trim_chars FROM ] string )
参数
- BOTH | LEADING | TRAILING
-
(可选)指定从何处剪裁字符。使用 BOTH 会删除前导和尾随字符,使用 LEADING 仅删除前导字符,使用 TRAILING 仅删除尾随字符。如果省略此参数,则会同时剪裁前导字符和尾随字符。
- trim_chars
-
(可选)要从字符串剪裁的字符数。如果忽略此参数,则剪裁空白区域。
- string
-
要剪裁的字符串。
返回类型
TRIM 函数返回 VARCHAR 或 CHAR 字符串。如果您将 TRIM 函数与 SQL 命令结合使用,Amazon Redshift 会将结果隐式转换为 VARCHAR。如果您在 SQL 函数的 SELECT 列表中使用 TRIM 函数,Amazon Redshift 不会隐式转换结果,您可能需要执行显式转换以避免数据类型不匹配错误。有关显式转换的信息,请参阅 CAST 函数和 CONVERT 函数 函数。
示例
要从字符串 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_chars 中的任意字符出现在 string 的开头或结尾时,TRIM 都会予以删除。以下示例在字符“C”、“D”和“G”出现在 VENUENAME(即 VARCHAR 列)的开头或结尾时对其进行剪裁。有关更多信息,请参阅 示例数据库。
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 | +---------+----------------------------+---------------------------+