用MySQL函数清除字符串首尾空白字符的方法

 更新时间:2011年03月31日 00:45:14   作者:  
由于内容插入的时候没办法进行完全的过滤,所以审核这里就经常出问题,搞的头大,而MySQL的trim函数没办法去掉回车和换行,只能去掉多余的空格
问题:短信息审核的时候,会根据内容来进行判断,比如a内容可以通过,b内容不能通过,则MySQL中表现为 msg = a,msg = b,可是如果msg字段的内容中包含回车换行等空白字符(最常见的是内容开头和末尾出现换行),则比对就不成功,造成短信息审核不成功。

由于内容插入的时候没办法进行完全的过滤,所以审核这里就经常出问题,搞的头大,而MySQL的trim函数没办法去掉回车和换行,只能去掉多余的空格,今天研究了一下MySQL的函数,replace函数,终于解决掉了这个问题,具体解决办法如下:

假设想要审核数据库中内容为“我爱你
”的短信息(注意内容后有换行)通过(status改变成1)

之前的SQL语句是不起作用的
复制代码 代码如下:

UPDATE `tran`
SET `status` = '1'
WHERE `msg` = '我爱你';

修改之后的语句

复制代码 代码如下:

UPDATE `tran`
SET `status` = '1'
WHERE trim( replace( `msg`, '\r\n', ' ' ) ) = '我爱你';

把数据中的回车换行等替换成空格之后再trim掉,就达到目的了,虽然不是特别完美,但是由于没办法在用户录入的时候控制,所以只能出此下策,好在MySQL内置函数的效率还是很有保证的。

更新(15:50):
复制代码 代码如下:

UPDATE `tran`
SET `status` = '1'
WHERE trim( trim(
BOTH '\r\n'
FROM content ) ) = '我爱你'

用了两个trim,这样的好处是不会替换内容中间的换行和回车,只会处理头尾的空格换行回车,相当于php中trim函数的作用了。

附:replace 用法
1.replace into
复制代码 代码如下:

replace into table (id,name) values('1','a'),('2','b');

此语句的作用是向表table中插入两条记录。

2.replace(object, search,replace)
把object中出现search的全部替换为replace
select replace('www.qq.com', 'q', 'Y');
上例输出结果 www.YY.com

注:trim和replace函数详细的用法请查看MySQL手册。
作者:跃龙杂记

相关文章

  • mysql压缩包版安装配置方法图文教程

    mysql压缩包版安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql压缩包版安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Ubuntu下mysql安装和操作图文教程

    Ubuntu下mysql安装和操作图文教程

    这篇文章主要为大家详细分享了Ubuntu下mysql安装和操作图文教程,喜欢的朋友可以参考一下
    2016-05-05
  • MySQL如何设置动态创建时间(create_time)和修改时间(update_time)

    MySQL如何设置动态创建时间(create_time)和修改时间(update_time)

    本文主要介绍了MySQL如何设置动态创建时间(create_time)和修改时间(update_time),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Mysql删除重复数据保留最小的id 的解决方法

    Mysql删除重复数据保留最小的id 的解决方法

    这篇文章主要介绍了Mysql删除重复数据保留最小的id 的解决方法,需要的朋友可以参考下
    2017-10-10
  • MySQL下载安装详情图文教程

    MySQL下载安装详情图文教程

    本文通过图文并茂的形式给大家介绍了MySQL下载安装详情,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • mysql安装忘记初始密码简单有效的解决方法

    mysql安装忘记初始密码简单有效的解决方法

    在本篇文章里小编给大家整理的是一篇关于mysql安装忘记初始密码简单有效的解决方法,有需要的朋友们参考学习下。
    2020-01-01
  • 数据库sql语句优化

    数据库sql语句优化

    今天小编就为大家分享一篇关于数据库sql语句优化,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 解决mysql输入密码闪退的问题

    解决mysql输入密码闪退的问题

    之前安装的mysql一直运行正常,但是在昨天装了个VS2010旗舰版。结果今天mysql就不能用了,于是在网上看了一下最只要就是mysql的服务没有起来的缘故。本文分享了几个解决方案,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-11-11
  • 可以改善mysql性能的InnoDB配置参数

    可以改善mysql性能的InnoDB配置参数

    MySQL与MSSQL 有一个区别在于MySQL建表的时候需要选择存储引擎,常用的存储引擎有MyISAM和InnoDB
    2011-05-05
  • Navicat连接mysql报错2003(10060)的解决方法

    Navicat连接mysql报错2003(10060)的解决方法

    本来好好的navicat连接数据库,突然间今天就打不开数据库了,下面这篇文章主要给大家介绍了关于Navicat连接mysql报错2003(10060)的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-04-04

最新评论