Sample items in table1
table1.productname
Moshi Monsters 7-in-1 Accessory Pack - Poppet
Mario vs. Donkey Kong Mini-Land Mayhem!
我想replace
' - 。 !来自所有productname
,但使用
select case
when CHARINDEX ('-',[productname])>0 then REPLACE (ProductName ,'-',' ')
when CHARINDEX ('!',[productname])>0 then REPLACE (ProductName ,'!','')
when CHARINDEX ('.',[productname])>0 then REPLACE (ProductName ,'.','')
else productname
end as productname
from table1
似乎只替换-
output
Moshi Monsters 7 in 1 Accessory Pack Poppet
Mario vs. Donkey Kong Mini-Land Mayhem
expected output
Moshi Monsters 7 in 1 Accessory Pack Poppet
Mario vs Donkey Kong MiniLand Mayhem
我该如何解决这个问题,我在productname中有多个字符要替换,例如在例子和更多中,列大约是5k。
实际上我想用更改的名称更新table1,但是想要在更新之前查看哪些已更改以及如何更改。这种replace
语句似乎没有满足所有要求。
似乎可以在更新中进行多次迭代,但不知道如何在更新中使用迭代。我该如何处理?
答案 0 :(得分:3)
您始终使用SAME源替换字符串:原始ProductName
字段,不会更改。你需要链接替换:
REPLACE(REPLACE(REPLACE(ProductName, '.', ''), '!', ''), '-', '')
非常快速地变得丑陋。你最好在你的客户端做这件事。