sql server 字符串替换问题
如题
字符串"1,2,3,12,16","2,3,1,12,4,16","16,2,3,4,12,1"中的1替换城5,12和16不变。
[最优解释]
declare @str varchar(20)='1,16,2,3,4,12,1,2,1'
select substring(REPLACE(','+@str+',',',1,',',5,'),2,LEN(@str))
[其他解释]
根据你的数据,不能单纯使用1,而要使用“1,”,否则12也会编程52
DECLARE @a VARCHAR(100)
SET @a='1,2,3,12,16'
SELECT REPLACE(@a,'1,','5,')
/*
----------------------------------------------------------------------------------------------------------------
5,2,3,12,16
(1 行受影响)
*/