我必须清理一些导入的数据。将一些条目更改为我使用的正确代码。我有它的工作,但有一个比更新/集的清单更清晰的方法吗?
update List
SET STCode = REPLACE(STCode, 'Georgia','GEO')
update List
SET STCode = REPLACE(STCode, 'Louisiana','LOU')
etc...
答案 0 :(得分:1)
可能正在使用带有union和join
的transalation表 UPDATE T1
SET T1.STCode = T2.code
FROM List AS T1
INNER JOIN (
select 'Georgia' name ,'GEO' code
union
select 'Louisiana','LOU'
) T2 on .T1.STCode = T2.name
答案 1 :(得分:1)
提供STCode
最多可存储一个要替换的值(没有像'Georgia和Louisiana'这样的东西)查找表是解决方案
update List
set STCode = REPLACE(STCode, replacement.bad, replacement.good)
from List l
join (
values
('Georgia','GEO')
,('Louisiana','LOU')
) replacement(bad, good)
on l.STCode like '%' + replacement.bad + '%'
;