0
我在具有XMLTYPE类型的DUMMY表中将列的值设为VALUE。 它包含:在Oracle SQL中用NULL值替换具体的XML标记
<?xml version="1.0"?>
<ROWSET>
<Value>
<Data>802
</Data>
</Value>
<Value>
<Data>902
</Data>
</Value>
</ROWSET>
我需要用空值代替802值标记。 输出应为:
<?xml version="1.0"?>
<ROWSET>
<Value>
<Data>902
</Data>
</Value>
</ROWSET>
802值标记应该用NULL去除。
我试过如updateXML():
update Dummy set VALUE=updatexml(VALUE,'ROWSET/Value/Data/text()','');
但将只更新802空值。
第二种方法: 更新虚拟集Value = updatexml(Value,'ROWSET','');
但它会删除ROWSET tag.Then里面的一切,它仅包含:
<?xml version="1.0"?>
<ROWSET/>
我试图替换()了。
update Dummy set emps=replace('
<Value><Data>802
</Data></Value>',null);
然后,它会从VALUE列中删除其他值,并且只保留replace()中提到的标记。
在此之后替换(),它包含:
<Value><Data>802
</Data></Value>
请建议我在此。
谢谢。它帮助了很多。 – 5extremers