我有一个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
使用Oracle SQL或PL / SQL我不确定如何处理上述内容以确保项目是否存在以及是否要添加到Col1
答案 0 :(得分:3)
这可能会让你开始:
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;