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 (字段名,'原来的值','要修改的值')
当然,也可以添加条件:
最后的效果:
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(字段名 ,'替换前内容','替换后内容');