В то время как все остальные правы, если у вас есть контроль над схемой, вам определенно не следует хранить ваши данные таким образом, именно так я бы решил проблему, как вы ее описали, если бы я не смог настроить схему.
IF OBJECT_ID('tempdb..#test') IS NOT NULL
DROP TABLE #test
create table #test
(
id int,
multivaluecolumn varchar(20)
)
insert #Test
select 1,'001002001'
UNION
select 2,'002004002'
UNION
select 3,'003006003'
GO
declare @oldmiddlevalue char(3)
set @oldmiddlevalue= '002'
declare @newmiddlevalue char(3)
set @newmiddlevalue = '005'
select * from #Test
Update #Test set multivaluecolumn =left(multivaluecolumn,3) + @newmiddlevalue + right(multivaluecolumn,3)
where substring(multivaluecolumn,4,3) = @oldmiddlevalue
select * from #Test