如何使用 Oracle XMLTable 检索标签内的 value/condition?
How to use Oracle XMLTable to retrieve the value/condition inside a tag?
我有一个 SQL 使用 XMLTable 来检索标签值,例如 Tag>Value
<ns:T1>
<ns:T2 remove="true"></ns:T2>
<ns:T1>
方法大致相同,只是使用 XPath 语法来匹配属性。为下图省略名称空间(为简单起见):
select *
from xmltable(
'/'
passing xmltype('<T1><T2 remove="true"></T2></T1>')
columns remove varchar2(6) path '/T1/T2/@remove')
;
REMOVE
------
true
请注意,在 Oracle SQL 中没有布尔值,因此您只能将其作为字符串检索,而不是布尔值。条件下需要的话,不能说where REMOVE
;你需要写 where REMOVE = 'true'
我有一个 SQL 使用 XMLTable 来检索标签值,例如 Tag>Value
<ns:T1>
<ns:T2 remove="true"></ns:T2>
<ns:T1>
方法大致相同,只是使用 XPath 语法来匹配属性。为下图省略名称空间(为简单起见):
select *
from xmltable(
'/'
passing xmltype('<T1><T2 remove="true"></T2></T1>')
columns remove varchar2(6) path '/T1/T2/@remove')
;
REMOVE
------
true
请注意,在 Oracle SQL 中没有布尔值,因此您只能将其作为字符串检索,而不是布尔值。条件下需要的话,不能说where REMOVE
;你需要写 where REMOVE = 'true'