sql 替换字段中的某个字符

在该字段中存在了两个A,但我只想替换第4个A为B,而保留第一个A,如何语句实现呢?用到left和right的话还是从两边开始,我就是想要取中间的,但又不涉及两边的方法。... 在该字段中存在了两个A,但我只想替换第4个A为B,而保留第一个A,如何语句实现呢?
用到left和right的话还是从两边开始,我就是想要取中间的,但又不涉及两边的方法。
展开
 我来答
百度网友6b12ce22c
2008-11-06 · 超过28用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:87.1万
展开全部
以 AxxxxA 为例,把替换其中第二个A为B,保留第一个
使用时,把'AxxxxA替换成你的列名就可以了。

select left('AxxxxA',CharIndex('A','AxxxxA'))+
replace(right('AxxxxA',len('AxxxxA')-CharIndex('A','AxxxxA')),'A','B')

------ -------------------
如果经常用,建议做成function

--建立一个叫a2b的function
CREATE FUNCTION [dbo].[A2B](@f varchar(20)) RETURNS varchar(20)
AS
BEGIN
DECLARE @result varchar(20)
select @result = left(@f,CharIndex('A',@f))+ replace(right(@f,len(@f)-CharIndex('A',@f)),'A','B')
RETURN @result
END
GO

--function的使用方法
select dbo.a2b('xAxA')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式