update tb set col=stuff(字段,5,1,'0') where substring(字段,5,1)='1'
update tb set col = left(col,4) + '0' + substring(col,6,len(col))
SELECT LEFT(LTRIM(COL),4)+ REPLACE(RIGHT(LEFT(LTRIM(COL),5),1),'1','0')+ RIGHT(LEN(LTRIM(COL))-5) AS COL FROM TB
加个条件不? update tb set col = left(col,4) + '0' + substring(col,6,len(col)) where substring(col,5,1) = '1'
declare @s varchar(20) set @s='10001010' select stuff(@s,5,1,'0') /*-------------------- 10000010(1 行受影响)*/
declare @str varchar(20) set @str='10001010'select stuff(@str,5,1,'0')-------------------- 10000010
--建表测试 select '10001010' as cl into test --查看效果 select cl '原数据', rtrim(convert(char,left(cl,4)))+'0'+rtrim(convert(char,substring(cl,6,len(cl))))'需要的数据' from test ---开始更新 update test set cl=rtrim(convert(char,left(cl,4)))+'0'+rtrim(convert(char,substring(cl,6,len(cl)))) 楼主可以结贴了
update tb
set col=stuff(字段,5,1,'0')
where substring(字段,5,1)='1'
set col = left(col,4) + '0' + substring(col,6,len(col))
REPLACE(RIGHT(LEFT(LTRIM(COL),5),1),'1','0')+
RIGHT(LEN(LTRIM(COL))-5) AS COL
FROM TB
update tb
set col = left(col,4) + '0' + substring(col,6,len(col))
where substring(col,5,1) = '1'
declare @s varchar(20)
set @s='10001010'
select stuff(@s,5,1,'0')
/*--------------------
10000010(1 行受影响)*/
declare @str varchar(20)
set @str='10001010'select stuff(@str,5,1,'0')--------------------
10000010
select '10001010' as cl into test
--查看效果
select cl '原数据',
rtrim(convert(char,left(cl,4)))+'0'+rtrim(convert(char,substring(cl,6,len(cl))))'需要的数据'
from test
---开始更新
update test
set cl=rtrim(convert(char,left(cl,4)))+'0'+rtrim(convert(char,substring(cl,6,len(cl))))
楼主可以结贴了