我根据列是空还是空来更新列上的表。 if null然后将直接获取任何数据。如果不是null意味着它将采用现有的当前数据+新数据。我正在使用解码它正常工作。 但是当'clob'无效时,列数据类型。实现这一目标的另一种选择。
代表 ID数据
11 ab
15 null
现在,如果我想要id 11的upate数据,它应该是旧数据+新数据,即ab:cd :这要分开新旧 不,如果我想更新id 15的数据,它应该只有新数据,即= ef
UPDATE TESTING
SET DATA = decode( DATA ,null,'CONFIRM',DATA||sysdate||'test' )
WHERE ID=15;
其中数据是列检查。可以请任何人在clob数据类型中指导如何执行此操作。
答案 0 :(得分:0)
使用Case
语句。这只是一个伪代码
UPDATE TESTING
SET DATA = Case when DATA IS NULL then direct any data
Else existing then current data + new data
End
WHERE ID=15;
答案 1 :(得分:0)
您可以使用NVL2功能:
UPDATE TESTING
SET DATA = NVL2( DATA, DATA||sysdate||'test', 'CONFIRM' )
WHERE ID=15;