2009-11-20 22 views
0

希望有人可以使用Oracle協助完成數據更新。更新Oracle中的數據部分

我有一個情況我有數據/記錄,可能是這樣的:

表名:IPDATA

列名和這些記錄被稱爲:信息

Web代理(ABC) :ZZZ網關GEN1:第二代
ZZZ網關GEN1:第二代:Web代理(ABC)
ZZZ網關GEN1:第二代
Web代理(ABC):ZZZ網關GEN1:第二代:XYZ系統
Web代理(ABC):ZZZ網關GEN1:第二代:XYZ系統:POP的SetUp
Web代理(ABC):XYZ系統:POP設置:ZZZ網關GEN1:第二代

我需要做的是找到記載,有字符串「ZZZ網關GEN1:第二代」 - 存在的記錄中只是這些是和替換眼前這個「:」有「」 ONLY

最終的結果則是:

Web代理(ABC): ZZZ Gateway gen1,gen2
ZZZ Gateway gen1,gen2:Web Proxy(abc)
ZZZ Gateway gen1,gen2Web代理(abc):ZZZ網關gen1,gen2:XYZ系統
Web代理(abc):ZZZ網關gen1,gen2:XYZ系統:POP設置
Web代理(abc):XYZ系統:POP設置:ZZZ網關gen1,gen2

我已經嘗試過使用substr更新和替換,但無濟於事。

回答

5

看起來你可以逃脫替換「1」與「1」,

update IPDATA 
set info=replace(info, '1:', '1,') 
where info like('%ZZZ Gateway gen1:gen2%') 
+0

感謝,但有沒有一種可能這樣做除了這種方法的任何其他方式? – tonyf 2009-11-20 02:46:34

+0

這種方法是否有效? – stimms 2009-11-20 03:31:56

+0

完全沒有刺激 - 只是想知道是否可能有另一種手段。謝謝。 – tonyf 2009-11-20 03:48:26