MySQL RTRIM() 函数



MySQL 的RTRIM()函数用于删除给定字符串末尾的所有空格。它接受一个字符串值作为参数,并通过删除字符串右侧的任何空白字符(例如空格、制表符或换行符)来返回结果。

语法

以下是 MySQL RTRIM() 函数的语法:

RTRIM(str)

参数

此函数接受一个字符串值作为参数。

返回值

此函数返回已修改的字符串,其中已删除尾随空格。

示例

在下面的示例中,我们使用 RTRIM() 函数删除字符串“    Tutorialspoint    ”末尾的空格:

SELECT RTRIM('    Tutorialspoint    ');

以下是上述代码的输出:

RTRIM('    Tutorialspoint    ')
    Tutorialspoint

示例

您还可以通过将数值转换为字符串来将它们作为参数传递给此函数:

SELECT RTRIM(' 5578   ');

获得的输出如下:

RTRIM(' 5578  ')
5578

示例

如果传递给此函数的参数为 NULL,则返回 NULL:

SELECT RTRIM(NULL );

我们得到以下输出:

RTRIM(NULL )
0x

如果禁用--binary-as-hex值,则上述查询的结果如下:

SELECT RTRIM(NULL );

我们得到以下输出:

RTRIM(NULL )
NULL

示例

您还可以使用此函数删除表列值的尾随空格。

让我们创建一个名为“PLAYERS_TABLE”的表,并使用 CREATE 和 INSERT 语句向其中插入记录,如下所示:

CREATE TABLE PLAYERS_TABLE(
   ID INT,
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Date_Of_Birth date,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255),
   PRIMARY KEY (ID)
);

现在,让我们使用 INSERT 语句向其中插入记录:

INSERT INTO PLAYERS_TABLE VALUES
(1, 'Shikhar    ', 'Dhawan', DATE('1981-12-05'), 'Delhi', 'India'),
(2, 'Jonathan    ', 'Trott', DATE('1981-04-22'), 'CapeTown', 'SouthAfrica'),
(3, 'Kumara    ', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka'),
(4, 'Virat    ', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India'),
(5, 'Rohit    ', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'),
(6, 'James    ', 'Anderson', DATE('1982-06-30'), 'Burnley', 'England');

获得的 PLAYERS_TABLE 如下:

ID First_Name Last_Name Date_Of_Birth Place_Of_Birth Country
1 Shikhar     Dhawan 1981-12-05 Delhi India
2 Jonathan     Trott 1981-04-22 CapeTown SouthAfrica
3 Kumara     Sangakkara 1977-10-27 Matale Srilanka
4 Virat     Kohli 1988-11-05 Delhi India
5 Rohit     Sharma 1987-04-30 Nagpur India
6 James     Anderson 1982-06-30 Burnley England

以下查询删除 First_Name 列值的尾随空格:

SELECT ID, First_Name, Last_Name, Country, RTRIM(First_Name)
FROM PLAYERS_TABLE;

输出

执行上述代码后,我们得到以下输出:

ID First_Name Last_Name Country RTRIM(First_Name)
1 Shikhar     Dhawan India Shikhar
2 Jonathan     Trott SouthAfrica Jonathan
3 Kumara     Sangakkara Srilanka Kumara
4 Virat     Kohli India Virat
5 Rohit     Sharma India Rohit
6 James     Anderson England James

示例

此外,您可以将 RTRIM() 函数与UPDATE语句一起使用来删除列中的尾随空格。

在下面的示例中,我们正在更新 'PLAYERS_TABLE' 中的 'First_Name' 列:

UPDATE PLAYERS_TABLE SET First_name = RTRIM(First_name);

输出

获得的输出如下:

Query OK, 6 rows affected (0.02 sec)
Rows matched: 6  Changed: 6  Warnings: 0

验证

您可以使用以下 SELECT 查询验证所做的更改:

SELECT * FROM PLAYERS_TABLE;

产生的结果如下:

ID First_Name Last_Name Date_Of_Birth Place_Of_Birth Country
1 Shikhar Dhawan 1981-12-05 Delhi India
2 Jonathan Trott 1981-04-22 CapeTown SouthAfrica
3 Kumara Sangakkara 1977-10-27 Matale Srilanka
4 Virat Kohli 1988-11-05 Delhi India
5 Rohit Sharma 1987-04-30 Nagpur India
6 James Anderson 1982-06-30 Burnley England

示例

我们还可以将 RTRIM() 函数与WHERE子句一起使用。

在这里,我们删除了国家/地区不是“INDIA”的球员名称的尾随空格:

UPDATE PLAYERS_TABLE SET First_name = RTRIM(First_name)
WHERE Country <> 'India';

输出

获得的输出如下:

Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0

验证

您可以使用以下 SELECT 查询验证所做的更改:

SELECT * FROM PLAYERS_TABLE;

获得的表如下:

ID First_Name Last_Name Date_Of_Birth Place_Of_Birth Country
1 Shikhar     Dhawan 1981-12-05 Delhi India
2 Jonathan Trott 1981-04-22 CapeTown SouthAfrica
3 Kumara Sangakkara 1977-10-27 Matale Srilanka
4 Virat     Kohli 1988-11-05 Delhi India
5 Rohit     Sharma 1987-04-30 Nagpur India
6 James Anderson 1982-06-30 Burnley England
mysql-rtrim-function.htm
广告