MySQL批量替换语句,被替换内容中存在变量,怎么写?

常规替换语句是:UPDATE表名SET字段名=REPLACE(字段名,'要替换的字符串','替换后的字符串');问题是,要替换的字符串中存在变量,例如要将大量的我确定我是... 常规替换语句是:
UPDATE 表名 SET 字段名=REPLACE(字段名,'要替换的字符串','替换后的字符串');

问题是,要替换的字符串中存在变量,例如要将大量的 我确定我是0001号 替换为 我真的是第0001位 ,其中数字部分是个变量要根据每条数据予以正确保留,应该怎么办? 变量前的“我确定我是” 替换为 “我真的是第” 倒可以用常规的方法替换,但是不可以直接将后边的 “号” 替换为 “位” ,因为字段中可能存在不需要替换的“号”字,缺乏特异性。有什么办法吗?用什么表示变量?
展开
 我来答
6rl
2015-01-21 · TA获得超过704个赞
知道小有建树答主
回答量:580
采纳率:66%
帮助的人:370万
展开全部
两步做
1,先替换 变量前的“我确定我是” 替换为 “我真的是第” 。

2,写存储过程来处理,把有“我真的是第xxx号“ 的记录用正则表达式查出来,然后,进行查找”号“这个字的位置,并且判断是否符合条件(”我真的是第“后面是数字,数字后面是”号“),一直替换把符合的”号“替换完。
---用其他代码写来替换估计更简单,比如php,coldfusion等都支持正则表达式查找和替换。
flsfycy
2015-01-21 · TA获得超过729个赞
知道小有建树答主
回答量:1002
采纳率:0%
帮助的人:708万
展开全部
这个在数据处理中经查遇到,这个需要针对特定数据进行编写。
简单的通过replace可以完成,复杂点的需要用到正则,或者自己写一个函数/存储过程来完成。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式