【发布时间】:2017-11-02 06:21:55
【问题描述】:
我在 XMLTYPE 类型的 DUMMY 表中有列作为 VALUE。 它包含:
<?xml version="1.0"?>
<ROWSET>
<Value>
<Data>802
</Data>
</Value>
<Value>
<Data>902
</Data>
</Value>
</ROWSET>
对于 802 值标签,我需要将其替换为 NULL。 输出应该是:
<?xml version="1.0"?>
<ROWSET>
<Value>
<Data>902
</Data>
</Value>
</ROWSET>
802 值标签应该用 NULL 删除。
我试过 UpdateXML():
update Dummy set VALUE=updatexml(VALUE,'ROWSET/Value/Data/text()','');
但它只会用 null 更新 802 值。
第二种方法: update Dummy set Value=updatexml(Value,'ROWSET','');
但它会删除 ROWSET 标签内的所有内容。然后,它将只包含:
<?xml version="1.0"?>
<ROWSET/>
我也试过 Replace()。
update Dummy set emps=replace('
<Value><Data>802
</Data></Value>',null);
然后它将从 VALUE 列中删除其他值,并仅保留 replace() 中提到的标记。
在这个replace()之后,它包含:
<Value><Data>802
</Data></Value>
请在这方面给我建议。
【问题讨论】: