--将字符串的前6位更换 select stuff('aaabbbcccddd',1,6,'wwweee')update G_CS_Customer set licensecode=stuff(licensecode,1,6,'010101') where customersid='058006930'
--用楼上这种方式 或update G_CS_Customer set licensecode='010101' + right(licensecode,len(licensecode)-6) where customersid='058006930'
--用楼上这种方式update G_CS_Customer set licensecode='010101' + right(licensecode,len(licensecode)-6) where customersid='058006930'--或update G_CS_Customer set licensecode='010101' + substring(licensecode,7,len(licensecode)-6) where customersid='058006930'
或是这样吧! update G_CS_Customer set licensecode='010101' + cast (right(licensecode,len(licensecode)-6) as varchar(1000)) where customersid='058006930';
建立视图吧!create view v_G_CS_Customer as select c_licensecode='010101'+substring(cast(licensecode as varchar(20)),7,len(licensecode)),* from G_CS_Customer
按照你的写法可以这样 update G_CS_Customer set licensecode=cast('010101' as varchar) + right(licensecode,6) where customersid='058006930' 但是这样并不是你说的“把前6位数字替换为010101”把前6位数字替换为010101: update G_CS_Customer set licensecode=stuff(licensecode,1,6,'010101') where customersid='058006930'
--奇怪的是,它報錯了,所以估計licensecode不是字符型吧...
方法很多 update 表 set 列名A=convert(varchar(6),'010101')+convert(varchar,stuff(列名A,1,6,''))
或update G_CS_Customer set licensecode='010101' + right(licensecode,len(licensecode)-6)
where customersid='058006930'
--用楼上这种方式update G_CS_Customer set licensecode='010101' + right(licensecode,len(licensecode)-6)
where customersid='058006930'--或update G_CS_Customer set licensecode='010101' + substring(licensecode,7,len(licensecode)-6)
where customersid='058006930'
update G_CS_Customer set licensecode='010101' + cast (right(licensecode,len(licensecode)-6) as varchar(1000)) where customersid='058006930';
licensecode是什么类型的,不是字符型吧!如果是数字型那怎么替换成前六位为‘010101’
update G_CS_Customer
set licensecode=cast('010101' as varchar) + right(licensecode,6)
where customersid='058006930'
但是这样并不是你说的“把前6位数字替换为010101”把前6位数字替换为010101:
update G_CS_Customer
set licensecode=stuff(licensecode,1,6,'010101')
where customersid='058006930'
update 表
set 列名A=convert(varchar(6),'010101')+convert(varchar,stuff(列名A,1,6,''))