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 子句一起使用。
在这里,我们删除了国家/地区不是"印度"的玩家姓名的尾随空格 -
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.html