ms sqlserver 库中一个表 table_name
字段:
计算机代码 名称
1 北京市蓝天置业有限公司
2 大地置业有限责任公司
3 北京市海淀区大海置业顾问事务所
·····
我现在想使用update语句将库表中的名称有关名称的字符全改为“XX”,比如北京市蓝天置业有限公司改为北京市XX置业有限公司。有没有一个update语句可以实现?
字段:
计算机代码 名称
1 北京市蓝天置业有限公司
2 大地置业有限责任公司
3 北京市海淀区大海置业顾问事务所
·····
我现在想使用update语句将库表中的名称有关名称的字符全改为“XX”,比如北京市蓝天置业有限公司改为北京市XX置业有限公司。有没有一个update语句可以实现?
(
计算机代码 VARCHAR(20) ,
名称 VARCHAR(150)
)
INSERT INTO #t1
( 计算机代码, 名称 )
VALUES ( '1', '北京市蓝天置业有限公司' )INSERT INTO #t1
( 计算机代码, 名称 )
VALUES ( '2', '大地置业有限责任公司' )INSERT INTO #t1
( 计算机代码, 名称 )
VALUES ( '3', '北京市海淀区大海置业顾问事务所' )
UPDATE #t1 SET 名称=STUFF(名称,CHARINDEX('置业',名称)-2,2,'')
SELECT * FROM #t1
CREATE TABLE #t1
(
计算机代码 VARCHAR(20) ,
名称 VARCHAR(150)
)
INSERT INTO #t1
( 计算机代码, 名称 )
VALUES ( '1', '北京市蓝天置业有限公司' )INSERT INTO #t1
( 计算机代码, 名称 )
VALUES ( '2', '大地置业有限责任公司' )INSERT INTO #t1
( 计算机代码, 名称 )
VALUES ( '3', '北京市海淀区大海置业顾问事务所' )create table #t2
(
名称 nvarchar(25)
)
insert into #t2
select '蓝天' union all
select '大地' union all
select '大海'update a set a.名称=REPLACE(a.名称,b.名称,'xx') from #t1 a left join #t2 b on charindex(b.名称,a.名称)>0
select * from #t1
-------------------
计算机代码 名称
1 北京市xx置业有限公司
2 xx置业有限责任公司
3 北京市海淀区xx置业顾问事务所
CREATE TABLE #A1
(
计算机代码 VARCHAR(20) ,
名称 VARCHAR(150)
)
INSERT INTO #A1
( 计算机代码, 名称 )
VALUES ( '1', '北京市蓝天置业有限公司' )INSERT INTO #A1
( 计算机代码, 名称 )
VALUES ( '2', '大地置业有限责任公司' )INSERT INTO #A1
( 计算机代码, 名称 )
VALUES ( '3', '北京市海淀区大海置业顾问事务所' )create table #A2
(
名称 nvarchar(25)
)
insert into #A2
select '蓝天' union all
select '大地' union all
select '大海'update a set a.名称=REPLACE(a.名称,b.名称,'xx') from #t1 a left join #t2 b on charindex(b.名称,a.名称)>0
select * from #A1
-------------------