给定mysql DB中的xml,如下所示:
set @xml = '<lrb id="370" deleted="0">
<lrb id="371" deleted="0"><add/></lrb>
<lrb id="372" deleted="0"><add/></lrb>
<add/></lrb>'
我使用sql:
SELECT EXTRACTVALUE(@xml,'//lrb[@id=370]')
我想返回这个:
<lrb id="371" deleted="0"><add/></lrb> <lrb id="372" deleted="0"><add/></lrb>
但是结果只返回一些空格。
我需要您的帮助才能完成这项工作。
谢谢。
最佳答案
ExtractValue()仅返回CDATA,不返回匹配标签中可能包含的任何标签,也不返回其任何内容(请参见以下示例中以val1返回的结果)。 details
如果将其替换为:
set @xml =
'<lrb id="370" deleted="0">THIS WILL RETURN
<lrb id="371" deleted="0">bbb<add/></lrb>
<lrb id="372" deleted="0">ccc<add/></lrb>
<add/>
</lrb>';
SELECT TRIM(EXTRACTVALUE(@xml,'//lrb[@id=370]'));
这将返回