如何直接替换mysql数据库中某字段中的特定字符

如何直接替换mysql数据库中某字段中的特定字符,第1张

1.理论上没可能一次性实现;

2.实际上很多朋友都会碰到这种需求,怎么解决呢?

1)把所有表的结构和数据导出为文本的.sql文件,用文本编辑软件word或者dw等都可以,用替换方法把字符a替换为b,但这有可能误 *** 作,所以要慎重查看;

2)替换完以后,再利用mysql数据管理软件,把sql文件导入到新的数据库中,进行严格测试,通过后;把旧版数据备份(主要为了安全着想),然后导入新的数据即可完成所需 *** 作;

您好,update mt2 set name = replace(name, substring(name, locate('<contact>', name),locate('</contact>', name)-locate('<contact>'+10, name)),'')

locate:

LOCATE(substr,str)

POSITION(substr IN str)

返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:

substring

SUBSTR(str,pos,len): 由<str>中的第<pos>位置开始,选出接下去的<len>个字元。

replace

replace(str1, str2, str3): 在字串 str1 中,当 str2 出现时,将其以 str3 替代。

可以通过replace函数来获取特定字符串后,进行字段更新实现:

sql:update tablename set name=replace(name,'替换前字段','替换后字段')where name like '%替换前字段%'。

上面的sql语句的意思是替换tablename中name字段的“替换前字段“为”替换后字段“, where后面的语句是筛选出字段中带有”替换前字段“的name值。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9736658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存