use tempdb;declare @str varchar(1000) set @str = 'A1;A2;A3;A4;A5;A6;A7;A8;A9;A10;A11;A12;A12;A14;A15;A16;A17';select stuff(stuff(replace(';' + @str + ';',';A10;',';B10;'),1,1,''),len(@str)+1,1,'');
--直接替换 update tb set col = replace(col , 'A10' , 'B10')--如果要考虑周全则为: update tb set col = substring(replace(',' + col + ',', ',A10,' , ',B10,'),2,len(col)+1)
declare @str varchar(1000)
set @str = '' --你上边的字串select stuff(replace(';' + @str,';A10;',';B10;'),1,1,'')
declare @str varchar(1000)
set @str = '' --你上边的字串select stuff(stuff(replace(';' + @str,';A10;',';B10;'),1,1,''),len(@str)+1,1,'')
declare @str varchar(1000)
set @str = '' --你上边的字串select stuff(stuff(replace(';' + @str + ';',';A10;',';B10;'),1,1,''),len(@str)+1,1,'')--少加了个';'
set @str='A1;A2;A3;A4;A5;A6;A7;A8;A9;A10;A11;A12;A12;A14;A15;A16;A17'
select replace(@str,'A10','B10')
set @str = 'A1;A2;A3;A4;A5;A6;A7;A8;A9;A10;A11;A12;A12;A14;A15;A16;A17'
select REPLACE(@str,'A10','B10')
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A1;A2;A3;A4;A5;A6;A7;A8;A9;B10;A11;A12;A12;A14;A15;A16;A17(1 行受影响)
use tempdb;declare @str varchar(1000)
set @str = 'A1;A2;A3;A4;A5;A6;A7;A8;A9;A10;A11;A12;A12;A14;A15;A16;A17';select stuff(stuff(replace(';' + @str + ';',';A10;',';B10;'),1,1,''),len(@str)+1,1,'');
update tb set col = replace(col , 'A10' , 'B10')--如果要考虑周全则为:
update tb set col = substring(replace(',' + col + ',', ',A10,' , ',B10,'),2,len(col)+1)