mysql trim()_MySQL trim()函数

在本教程中,我们将向您展示如何使用MySQL TRIM()函数从字符串中删除不必要的前导和后缀字符。

MySQL TRIM函数介绍

用户输入的数据通常不是我们所预期的。有时候,它的格式不正确,例如错误的情况,甚至有些甚至包含前导和尾随空格以及其他不需要的字符。

为了保持数据格式正确,在数据库中插入或更新数据之前,需要对其进行清理。 数据清理中最重要的任务之一是删除不必要的前导和尾随字符。

MySQL提供了一个非常有用的名称为TRIM()的字符串函数,以帮助您清理数据。下面说明了TRIM()函数的语法。

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

TRIM函数提供了许多选项

您可以使用LEADING,TRAILING或BOTH选项明确指示TRIM()函数从字符串中删除前导,尾随或前导和尾随的不必要的字符。

如果您没有指定任何内容,TRIM()函数默认使用BOTH选项。

[removed_str]是要删除的字符串。默认情况下,它是一个空格。这意味着如果不指定特定的字符串,则TRIM()函数仅删除空格。

str是要删除子字符removed_str的字符串。

TRIM()函数返回一个字符串,删除不需要的字符。

MySQL TRIM函数示例

以下语句从字符串中除去前导和尾随空格。

mysql> SELECT TRIM(' MySQL TRIM Function ');

+-------------------------------+

| TRIM(' MySQL TRIM Function ') |

+-------------------------------+

| MySQL TRIM Function |

+-------------------------------+

1 row in set

以下语句仅删除前导空格 -

mysql> SELECT TRIM(LEADING FROM ' MySQL TRIM Function ');

+-------------------------------------------------+

| TRIM(LEADING FROM ' MySQL TRIM Function ') |

+-------------------------------------------------+

| MySQL TRIM Function |

+-------------------------------------------------+

1 row in set

以下语句仅删除尾随空格 -

mysql> SELECT TRIM(TRAILING FROM ' MySQL TRIM Function ');

+--------------------------------------------------+

| TRIM(TRAILING FROM ' MySQL TRIM Function ') |

+--------------------------------------------------+

| MySQL TRIM Function |

+--------------------------------------------------+

1 row in set

以下语句删除字符串末尾的换行符 -

-- 方式一

SELECT

TRIM(TRAILING '\n' FROM field_name)

FROM table_name;

-- 方式二

SELECT

TRIM(TRAILING '\r' FROM field_name)

FROM table_name;

-- 方式三

SELECT

TRIM(TRAILING '\r\n' FROM field_name)

FROM table_name;

请注意,基于平台,新行可以是\n(Unix或Linux),\r(Mac)或两者(\r\n)。

如果数据已经存在,并且要清理空格或任何其他不需要的字符,则可以在UPDATE语句中使用TRIM()函数。

我们将在示例数据库(yiibaidb)中的products表中进行演示,如下所示 -

mysql> desc products;

+--------------------+---------------+------+-----+---------+------------------+

| Field | Type | Null | Key | Default | Extra |

+--------------------+---------------+------+-----+---------+------------------+

| productCode | varchar(15) | NO | PRI | | |

| productName | varchar(70) | NO | MUL | NULL | |

| productLine | varchar(50) | NO | MUL | NULL | |

| productScale | varchar(10) | NO | | NULL | |

| productVendor | varchar(50) | NO | | NULL | |

| productDescription | text | NO | | NULL | |

| quantityInStock | smallint(6) | NO | | NULL | |

| buyPrice | decimal(10,2) | NO | | NULL | |

| MSRP | decimal(10,2) | NO | | NULL | |

| stockValue | double | YES | | NULL | STORED GENERATED |

+--------------------+---------------+------+-----+---------+------------------+

10 rows in set

以下语句将删除products表中产品名称的所有空格并更新,如下查询语句 -

UPDATE products

SET

productname = TRIM(productname);

请注意,TRIM函数仅从字符串中删除不需要的前导和/或后缀字符。如果要删除字符串中间不需要的字符,则应使用REPLACE函数。

MySQL LTRIM和RTRIM函数

如果要仅删除前导或尾随空格,则可以使用其他字符串函数:LTRIM和RTRIM。

以下语句使用LTRIM函数来删除字符串的前导空格。

SELECT LTRIM(' MySQL LTRIM function');

执行上面查询语句,得到以下结果 -

mysql> SELECT LTRIM(' MySQL LTRIM function');

+---------------------------------+

| LTRIM(' MySQL LTRIM function') |

+---------------------------------+

| MySQL LTRIM function |

+---------------------------------+

1 row in set

以下语句使用RTRIM()函数来删除字符串的尾随空格。

SELECT RTRIM('MySQL RTRIM function ');

执行上面查询语句,得到以下结果 -

mysql> SELECT RTRIM('MySQL RTRIM function ');

+----------------------------------+

| RTRIM('MySQL RTRIM function ') |

+----------------------------------+

| MySQL RTRIM function |

+----------------------------------+

1 row in set

在本教程中,您已经学习了如何使用TRIM()函数从字符串中删除不需要的前导和后缀字符。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

你可能感兴趣的:(mysql,trim())