2009-11-20 2 views
0

Надеюсь, кто-то может помочь с этим обновлением данных с помощью Oracle.Обновление частей данных в Oracle

У меня есть ситуации, когда у меня есть данные/записи, которые могут выглядеть следующим образом:

Название таблицы: IPDATA

Имя столбца с этих записей называется: Информация

Web Proxy (ABC) : ZZZ Шлюз Gen1: gen2
ZZZ Шлюз Gen1: Gen2: Web Proxy (ABC)
ZZZ Шлюз Gen1: gen2
Web Proxy (ABC): ZZZ Шлюз Gen1: Gen2: XYZ системы
Web Proxy (ABC): ZZZ Шлюз Gen1: gen2: XYZ системы: POP SetUp
Web Proxy (ABC): XYZ системы: POP SetUp: ZZZ Шлюз Gen1: gen2

Что мне нужно сделать, это найти записи, есть строка «ZZZ шлюз Gen1: Gen2» - только эти, которые существуют в записях и заменить только это «:» с «» тОЛЬКО

Конечный результат будет таким:

Web Proxy (ABC): ZZZ Gateway gen1, gen2
ZZZ Gateway gen1, gen2: веб-прокси (abc)
ZZZ Gateway gen1, gen2
Web Proxy (ABC): ZZZ Шлюз Gen1, gen2: XYZ системы
Web Proxy (ABC): ZZZ Шлюз Gen1, gen2: XYZ системы: POP SetUp
Web Proxy (ABC): XYZ системы: POP SetUp: ZZZ Gateway gen1, gen2

Я пробовал его с помощью обновлений с substr и заменой, но безрезультатно.

ответ

5

Похоже, вы могли бы уйти с заменой «1:» с «1,»

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

спасибо, но есть какие-либо другие способы, возможно, делают это в стороне от этого подхода? – tonyf

+0

Есть ли способ, которым этот подход эффективен? – stimms

+0

совсем не стимулирует - просто интересно, возможно ли другое средство. Благодарю. – tonyf

Смежные вопросы