类别:

:doc:`/sql-reference/functions-string`(通用)

RTRIM

从字符串中移除尾随字符(包括空格)。

备注

要移除字符串中的字符,可以使用 REPLACE 函数。

另请参阅:

LTRIMTRIM

语法

RTRIM(<expr> [, <characters> ])
Copy

实参

expr

要修剪的字符串表达式。

characters

要从 expr 的右侧移除一个或多个字符。

默认值为 :code:`' '`(单个空格字符)。如果未指定任何字符,则仅移除空格。

返回

此函数返回 VARCHAR 数据类型的值或 NULL 值。如果任一实参为 NULL,则返回 NULL。

使用说明

  • 您可以按任意顺序指定 characters 中的字符。

  • characters 中的 ' ' 规范不会移除其他空白字符(如制表符、行结束符等)。明确指定这些字符才能移除它们。

  • 指定 characters 时,必须明确指定要移除空格的字符。例如,' $.' 从输入字符串中移除所有尾随空格、美元符号和句点。

排序规则详细信息

当省略可选的第二个实参,或该实参仅包含恒定的空白时,支持排序规则。

返回值的排序规则规范与第一个实参的排序规则规范相同。

示例

从字符串中移除尾随的 0. 字符:

SELECT RTRIM('$125.00', '0.');
Copy
+------------------------+
| RTRIM('$125.00', '0.') |
|------------------------|
| $125                   |
+------------------------+

其余示例使用以下表数据。此外,查询将字符串放在 >< 字符内,以帮助您直观地看到空白。

CREATE OR REPLACE TABLE test_rtrim_function(column1 VARCHAR);

INSERT INTO test_rtrim_function VALUES ('Trailing Spaces#  ');
Copy

从字符串中移除尾随空格。此示例未指定第二个 characters 实参,因为默认的实参是空格。

SELECT CONCAT('>', CONCAT(column1, '<')) AS original_value,
       CONCAT('>', CONCAT(RTRIM(column1), '<')) AS trimmed_value
  FROM test_rtrim_function;
Copy
+----------------------+--------------------+
| ORIGINAL_VALUE       | TRIMMED_VALUE      |
|----------------------+--------------------|
| >Trailing Spaces#  < | >Trailing Spaces#< |
+----------------------+--------------------+

从字符串中移除前导空格和 #。此示例指定第二个 characters 实参,因为它会移除空格之外的其他字符。

SELECT CONCAT('>', CONCAT(column1, '<')) AS original_value,
       CONCAT('>', CONCAT(RTRIM(column1, '# '), '<')) AS trimmed_value
  FROM test_rtrim_function;
Copy
+----------------------+-------------------+
| ORIGINAL_VALUE       | TRIMMED_VALUE     |
|----------------------+-------------------|
| >Trailing Spaces#  < | >Trailing Spaces< |
+----------------------+-------------------+
语言: 中文