XMLQUERY
功能描述
以xpath
表达式查询XML中的元素。
XML数据类型的详细信息请参见《SQL语法参考指南》的XML数据类型章节。
语法格式
XMLQUERY(xpath PASSING XML_data RETURNING CONTENT)
参数说明
xpath
:查找路径。XML_data
:XML类型数据。
函数返回类型
CHAR类型。
示例
sql
-- 存在要查找的数据
SQL> CREATE TABLE person_data (person_id INT,person_data XML);
SQL> INSERT INTO person_data
(person_id, person_data)
VALUES
(1, XMLTYPE('
<PDRecord>
<PDName>Daniel Morgan</PDName>
<PDDOB>12/1/1951</PDDOB>
<PDEmail>damorgan@u.washington.edu</PDEmail>
</PDRecord>')
);
SQL> INSERT INTO person_data
(person_id, person_data)
VALUES
(2, XMLTYPE('
<PDRecord>
<PDName>Jack Cline</PDName>
<PDDOB>5/17/1949</PDDOB>
<PDEmail>damorgan@u.washington.edu</PDEmail>
</PDRecord>')
);
SQL> INSERT INTO person_data
(person_id, person_data)
VALUES
(3, XMLTYPE('
<PDRecord>
<PDName>Caleb Small</PDName>
<PDDOB>1/1/1960</PDDOB>
<PDEmail>damorgan@u.washington.edu</PDEmail>
</PDRecord>')
);
SQL> SELECT person_id, XMLQuery(
'for $i in /PDRecord
where $i /PDName = "Daniel Morgan"
order by $i/PDName
return $i/PDName'
PASSING person_data
RETURNING CONTENT) xmlData
FROM person_data;
PERSON_ID |XMLDATA |
------------------------------------------------------------------------------
1 |<PDName>Daniel Morgan</PDName> |
2 |NULL |
3 |NULL |