MySQL TRIM() 函数



MySQL 的TRIM()函数用于去除给定字符串中开头或结尾的空格,或指定的前缀或后缀。

TRIM() 函数接受字符串值作为其第一个参数,并且可选地接受第二个参数,该参数表示要移除的字符。如果未提供第二个参数,则 TRIM() 函数默认移除字符串两端的空格。

语法

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

TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

参数

以下是此函数的参数:

  • BOTH (可选) - 如果指定,则从原始字符串中移除在 'remstr' 中指定的字符的前导和尾随出现。
  • LEADING (可选) - 如果指定,则从原始字符串中移除在 'remstr' 中指定的字符的前导出现。
  • TRAILING (可选) - 如果指定,则从原始字符串中移除在 'remstr' 中指定的字符的尾随出现。

返回值

此函数返回根据指定条件移除前导和尾随字符后的字符串。

示例

在下面的示例中,我们使用 TRIM() 函数从给定的字符串 ' $$$$$$$Tutorialspoint$$$$$$' 中移除前导和尾随美元符号 ('$'):

SELECT TRIM('$' FROM '$$$$$$$Tutorialspoint$$$$$$');

以上代码的输出如下:

TRIM('$' FROM '$$$$$$$Tutorialspoint$$$$$$')
Tutorialspoint

示例

如果我们没有提供可选参数,则此函数将从给定字符串中移除所有前导和尾随空格:

SELECT TRIM('    Tutorialspoint    ');

获得的输出如下:

TRIM('    Tutorialspoint    ')
Tutorialspoint

示例

您还可以将数值作为参数传递给此函数:

SELECT TRIM(0 FROM 00005578000);

我们得到如下输出:

TRIM(0 FROM 00005578000)
5578

示例

在这里,我们使用 LEADING 子句仅从字符串中修剪前导字符(此处为 '$' 符号):

SELECT TRIM(LEADING '$' FROM '$$$$$$$Tutorialspoint$$$$$$');

以上代码的输出如下:

TRIM(LEADING '$' FROM '$$$$$$$Tutorialspoint$$$$$$')
Tutorialspoint$$$$$$

示例

现在,我们使用 BOTH 子句来修剪前导和尾随空格:

SELECT TRIM(BOTH FROM '    Tutorialspoint    ');

获得的输出如下:

TRIM(BOTH FROM '    Tutorialspoint    ')
Tutorialspoint

示例

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

SELECT TRIM(TRAILING '$' FROM NULL);

我们得到如下输出:

TRIM(TRAILING '$' FROM NULL)
NULL

示例

您还可以使用此函数从表的列值中移除空格或前缀/后缀字符串。

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

CREATE TABLE PLAYERS_TABLE(
   ID INT,
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Country VARCHAR(255),
);

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

INSERT INTO PLAYERS_TABLE VALUES
(1, '   Shikhar      ', 'Dhawan', 'India'),
(2, '   Jonathan     ', 'Trott', 'SouthAfrica'),
(3, '   Kumara       ', 'Sangakkara', 'Srilanka');

获得的 PLAYERS_TABLE 如下所示:

ID First_Name Last_Name Country
1    Shikhar       Dhawan India
2    Jonathan      Trott SouthAfrica
3    Kumara        Sangakkara Srilanka

以下查询将移除 First_Name 列的值中所有前导和尾随空格:

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

输出

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

ID First_Name Last_Name Country TRIM(First_Name)
1    Shikhar       Dhawan India Shikhar
2    Jonathan      Trott SouthAfrica Jonathan
3    Kumara        Sangakkara Srilanka Kumara

示例

此外,您可以将 TRIM() 函数与UPDATE语句一起使用,以移除列中的前导和尾随空格。

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

UPDATE PLAYERS_TABLE SET First_name = TRIM(First_name);

输出

获得的输出如下:

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 Country
1 Shikhar Dhawan India
2 Jonathan Trott SouthAfrica
3 Kumara Sangakkara Srilanka

示例

我们也可以结合WHERE子句使用TRIM()函数。

这里,我们删除了国家不是“INDIA”的运动员姓名前后的空格 -

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

输出

获得的输出如下:

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

验证

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

SELECT * FROM PLAYERS_TABLE;

得到的结果表如下所示 -

ID First_Name Last_Name Country
1    Shikhar       Dhawan India
2 Jonathan Trott SouthAfrica
3 Kumara Sangakkara Srilanka
mysql-trim-function.htm
广告
© . All rights reserved.