MySQL trim()函数

MySQL.Function 专栏收录该内容
40 篇文章 2 订阅

转载自  MySQL trim()函数

MySQL TRIM函数介绍

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

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

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

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

 

TRIM函数提供了许多选项

您可以使用LEADINGTRAILINGBOTH选项明确指示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函数

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

以下语句使用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()函数从字符串中删除不需要的前导和后缀字符。

  • 1
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p> <span style="font-size:14px;color:#337FE5;">【为什么学爬虫?】</span> </p> <p> <span style="font-size:14px;">       1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!</span> </p> <p> <span style="font-size:14px;">       2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站</span> </p> <p> <br /> </p> <span style="font-size:14px;color:#337FE5;">【课程设计】</span> <p class="ql-long-10663260"> <span> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 网络请求:模拟浏览器的行为从网上抓取数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 </li> <li class="" style="font-size:11pt;color:#494949;"> Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <br /> </p> <p> <br /> </p> <p> <span style="font-size:14px;background-color:#FFFFFF;color:#337FE5;">【课程服务】</span> </p> <p> <span style="font-size:14px;">专属付费社群+定期答疑</span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"><br /> </span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"></span> </p>
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值