sql中如何批量替换字段里的字符串?

 我来答
禹立咎若菱
2019-04-01 · TA获得超过3820个赞
知道小有建树答主
回答量:3211
采纳率:25%
帮助的人:169万
展开全部
update
[表名]
set
[字段名]=stuff([字段名],charindex('aaaa',[字段名],0),charindex('bbb',[字段名],0)-charindex('aaaa',[字段名],0)-4+7,'A'),
where
[字段名]
like
'%aaaa%bbb%'
就是用charindex取得'aaaa','bbb'的位置,计算需要替换字符串的长度,然后用stuff函数替换.
badkano
2017-12-28 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885363
团长

向TA提问 私信TA
展开全部
估计你是没理解replace的意思

譬如你举例的这几个
update 表名 set 字段名=replace(字段名,'aaaa','cccc');

这样以后
aaaaxxxbbb 变成 ccccxxxbbb
aaaamtbbb 变成 ccccmtbbb

替换的是里边的aaa

你那么写不知道你要改什么,如果你只要改aaa*bbb的那种可以在后边加where条件

update 表名 set 字段名=replace(字段名,'aaaa','cccc') where 字段名 like 'aaa*bbb'

当然,这个模糊查询是access里的,如果是sqlserver或oracle等,那个*是要替换成%的

----补充----
按你说的意思
access:
update 表名 set 字段名='A' where 字段名 like 'aaa*bbb'

sqlserver或oracle:
update 表名 set 字段名='A' where 字段名 like 'aaa%bbb'
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式