读书人

求替换部分行中某列的某些字符解决思路

发布时间: 2012-04-28 11:49:53 作者: rapoo

求替换部分行中某列的某些字符
例如表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

读书人网 >SQL Server

热点推荐