sql 替换字段中的某个字符

来源:百度知道 编辑:UC知道 时间:2024/09/21 14:33:21
在该字段中存在了两个A,但我只想替换第4个A为B,而保留第一个A,如何语句实现呢?
用到left和right的话还是从两边开始,我就是想要取中间的,但又不涉及两边的方法。

以 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')