sql替换数据库字段中的字符

UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE ……
说明:
table_name —— 表的名字 
field_name —— 字段名 
from_str —— 需要替换的字符串 
to_str —— 替换成的字符串 

目的是为了直接用sql操作数据库修改字段中的某些字串!

Msql里面的某个表的某个字段里面存储的是一个人的地址,有一天这个地址的里面的某个地

名变了,那么他的地址也就要变:

比如:

原来是:

 
number             addr  
01             四川省成都市XXXXXX街道05号  
02             四川省成都市XXXXXX街道07号  
03             四川省成都市XXXXXX街道09号  
04             四川省成都市XXXXXX街道04号  

  

 现在这个成都市变为了 “天府”市···

所以,addr字段里面的所有的值,都要把成都市改为  天府市

解决方法:

sql语句:

 
update 表名 set 字段名=REPLACE (字段名,'原来的值','要修改的值')  

当然,也可以添加条件:


 
update user_item set addr=REPLACE (addr,'成都','天府') where time<'2013-11--5'  

最后的效果:

number             addr  
01             四川省天府市XXXXXX街道05号  
02             四川省天府市XXXXXX街道07号  
03             四川省天府市XXXXXX街道09号  
04             四川省天府市XXXXXX街道04号  

  

PS:

replace()函数的具体用法

sql 中的Replace函数

用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。

语法

REPLACE ( ''string_expression1'' , ''string_expression2'' , ''string_expression3'' )

参数

''string_expression1''

待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。

''string_expression2''

待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。

''string_expression3''

替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。

返回类型

如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。

示例

下例用 xxx 替换 abcdefghi 中的字符串 cde。

SELECT REPLACE(''abcdefghicde'',''cde'',''xxx'')GO

下面是结果集:

------------abxxxfghixxx(1 row(s) affected)

替换SQL语句:

update 表名 set 字段名 =REPLACE(字段名 ,'替换前内容','替换后内容');
原文地址:https://www.cnblogs.com/xiaomifeng/p/5101845.html