MySQL为您提供了一个有用的字符串函数REPLACE(),它允许您用新的字符串替换表的列中的字符串。

REPLACE()函数的语法如下:

REPLACE(str,old_string,new_string);

SQL

REPLACE()函数有三个参数,它将string中的old_string替换为new_string字符串。

注意: 有一个也叫作REPLACE的语句用于插入或更新数据。所以不要将REPLACE语句与这里的REPLACE字符串函数混淆。

REPLACE()函数非常方便搜索和替换表中的文本,例如更新过时的URL,纠正拼写错误等。

在UPDATE语句中使用REPLACE函数的语法如下:

UPDATE tbl_name SET field_name = REPLACE(field_name,string_to_find,string_to_replace)WHEREconditions;

SQL

请注意,当搜索要替换的文本时,MySQL使用区分大小写匹配来执行要替换的字符串的搜索。

MySQL REPLACE字符串函数示例

例如,如果要更正示例数据库(yiibaidb)中的products表中的拼写错误,请使用REPLACE函数,如下所示:

UPDATE products SET productDescription = REPLACE(productDescription,'abuot','about');

SQL

查询查找所有出现的拼写错误词:abuot,并通过products表的productDescription列中使用正确单词将其替换。

非常重要的是,在REPLACE函数中,第一个参数是不带引号(")的列名。 如果将引号括起来,就像"field_name"这样的字段名称,查询将会将该列的内容更新为"field_name",导致意外的数据丢失。

REPLACE函数不支持正则表达式,因此如果需要使用外部库中需要使用MySQL用户定义函数(UDF)的模式替换文本字符串,有关MySQL UDF请查看这里: http://launchpad.net/mysql/udf-regexp

//更多请阅读:https://www.yiibai.com/mysql/string-replace-function.html