首页 > mysql > mysql的replace函数替换字符串功能简介

mysql的replace函数替换字符串功能简介

2010年10月22日 发表评论 阅读评论

今天在工作的过程中碰到一个问题,要把数据库中某个列的所有值中含有”#”的字符都去掉,本来可以写个脚本,把所有的值都取出再用php进行处理,但是那样就效率非常低了,想到看试下能不能直接在MySQL中用SQL语句直接来处理,经过一番搜索,终于找到解决方案,其实最重要的是mysql的replace函数,关于这个函数的介绍,我在MySQL手册中是没看懂,不过能实现我想要的功能就行。

下面就是对这个函数的简要介绍以及范例。注意哦!REPLACE要大写,我今天刚开始在SQL语句中小写不行,后面改成大写就可以了,不知道有没有错,反正大写肯定没错就是了!

比如你要将 表 tb1里面的 f1字段的abc替换为def
UPDATE tb1 SET f1=REPLACE(f1, ‘abc’, ‘def’);
REPLACE(str,from_str,to_str)
在字符串   str   中所有出现的字符串   from_str   均被   to_str替换,然后返回这个字符串:
mysql>   SELECT   REPLACE(‘www.mysql.com’,   ‘w’,   ‘Ww’);
->   ‘WwWwWw.mysql.com’
这个函数是多字节安全的。
示例:
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,’</td>’,” );
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,’</tr>’,” );
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,’<tr>’,” );
UPDATE  `dede_archives`  SET title=  REPLACE ( title,’大洋新闻 – ‘,” );
UPDATE  `dede_addonarticle`  SET body =  REPLACE ( body,’../../../../../../’,'http://special.dayoo.com/meal/’ );
mysql replace
用法1.replace intoreplace into table (id,name) values(‘1‘,‘aa‘),(‘2‘,‘bb‘)
此语句的作用是向表table中插入两条记录。
2.replace(object, search,replace)
把object中出现search的全部替换为replaceselect replace(‘www.163.com‘,‘w‘,‘Ww‘)—>WwW wWw.163.com
例:把表table中的name字段中的 aa替换为bbupdate table set name=replace(name,‘aa‘,‘bb‘)
也许,实现mysql的批量替换字符串功能还有其他的解法,如果有的话请指出,我一并补充!
分类: mysql 标签:

您可能会对下面的文章感兴趣

  1. 2010年10月24日18:35 | #1

    学习,多谢博主

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.