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
廣告