替换刺痛的特定部分

时间:2013-07-26 09:42:36

标签: sql sql-server replace sql-server-2000 string-formatting

我有一个包含IT产品(近300万条记录)的大桌子,我可以看到像这样的rocords。

1 Port Euro Wall Charger + Uk Adapter 5v 2.1a For IPod / iPhone / iPad - White - Ip-653

在这里你可以看到'IPod'不是标准格式(iPod)。所以我提出了这个SQL并实现了以下内容。

update tablename
set dsc = replace(dsc, 'iPod', 'iPod')
where dsc not like'%iPod%' collate sql_latin1_general_cp1_cs_as
and dsc like '%iPod%'

将此应用于所有记录后,它已完成我想要的格式化,但它也做了一些不需要的更改,例如......

100in **TriPod** Canvas CarryinGBag For T100uwv1 Screen 

有没有办法克服这种变化,我可以使用RegEx吗?请指教。

2 个答案:

答案 0 :(得分:1)

在like子句中添加ipod之前和之后的空间可能会解决您的问题。

答案 1 :(得分:-1)

您可以使用

where dsc like 'iPod %' 
or dsc like '% iPod %'
or dsc like '% iPod'

匹配ipod用作单词的位置,而不是单词。