Как проверить данные в столбце, разделенном двоеточием (:)? - PullRequest
1 голос
/ 23 декабря 2010

У меня есть столбец базы данных Oracle, скажем, col1, который имеет следующие значения:

Col1 (A: B: C)

Теперь мне нужно прийти и добавить к этому Col1, только если он не существует, дополнительные значения, но не знаете, как выполнить проверку, чтобы убедиться, что Col1 уже содержит эти значения.

Сценарий может быть следующим:

1) Need to add B   => Outcome=> check Col1 – B exists, do not add.
2) Need to add A:C => Outcome=> check Col1 – A and C exists, do not add.
3) Need to add C:D => Outcome=> check Col1 – C exists but D doesn’t, do not add C but need to add D
4) Need to add G  => Outcome=> check Col1 – G doesn’t, need to add G

Использование OracleSQL или PL / SQL Я не уверен, как обрабатывать вышеизложенное, чтобы убедиться, что элементы существуют или не существуют, а также добавлять или не добавлять в Col1

1 Ответ

3 голосов
/ 23 декабря 2010

Возможно, вы начали:

UPDATE mytable
SET Col1 = Col1 || ':A'
WHERE INSTR(':' || Col1 || ':', ':A:') = 0;

Чтобы удалить значение:

UPDATE mytable
SET Col1 = TRIM(':' FROM REPLACE(Col1, ':A:', ':'))
WHERE INSTR(':' || Col1 || ':', ':A:') > 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...