EXTRACT
📄字数 524
👁️阅读量 加载中...
功能描述
返回某个标签下的所有标签。
XML数据类型的详细信息请参见《SQL语法参考指南》的XML数据类型章节。
语法格式
sql
EXTRACT(XMLdata,xpath)
输入参数
XMLdata
:XML
类型数据。xpath
:查找路径。
输出结果
VARCHAR
类型。第一个参数为NULL
,输出结果为NULL
;如果第二个参数为NULL
,会报XPATH不能为空的错误,两个参数同时为NULL
,输出结果为NULL
。
示例
sql
SQL> CREATE TABLE test_extract(id INT,xml_col XML,insert_time DATE);
SQL> insert into test_extract values(1, '<tag><a>AA<b/>aa</a><a lang="en">ALPHA<b lang="zh"/>alpha</a><x lang="en">XX<y lang="zh">YY<z/>yy</y></x></tag>', '2020-01-01');
SQL> insert into test_extract values(2, '<country>china<city capital="true">beijing</city><city capital="false">shanghai</city></country>', '2020-02-01');
SQL> SELECT EXTRACT(t.xml_col,'/country/city[@capital="true"]') FROM test_extract t WHERE t.id = 2;
+-------------------------------------+
| EXPR1 |
+-------------------------------------+
| <city capital="true">beijing</city> |
+-------------------------------------+
SQL> SELECT EXTRACT(t.xml_col,'data(//@lang)') FROM test_extract t WHERE t.id = 1;
+----------+
| EXPR1 |
+----------+
| enzhenzh |
+----------+