日期:2014-05-18  浏览次数:20533 次

求替换部分行中某列的某些字符
例如表A中有productName列,我需要把其中productName列中'ABC'开头的列中的‘ABC’替换成‘DEF’.

例如:
ABC001
ABC003
ABC004
QSF002
QBQ005
ABC005


我使用update a set productName='DEF'+SUBSTRING(productName,4,6) where productName like 'ABC%'

但是出错

------解决方案--------------------
update a 
set productName=stuff(productName,1,3,'DEF') 
where productName like 'ABC%
------解决方案--------------------
用replace函数可以啊:
create table t1
(
col varchar(10)
)
insert into t1
select 'ABC001' union all
select 'ABC003' union all
select 'ABC004' union all
select 'QSF002' union all
select 'QBQ005' union all
select 'ABC005'
select * from t1

update t1
set col=REPLACE(col,'ABC','DEF')

---------------------------------
DEF001
DEF003
DEF004
QSF002
QBQ005
DEF005