Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


EXTRACT

📄字数 639
👁️阅读量 加载中...

功能描述

返回某个标签下的所有标签。

XML数据类型的详细信息请参见《SQL语法参考指南》的XML数据类型章节。

语法格式

sql
EXTRACT(XMLdata,xpath)

输入参数

  • XMLdataXML类型数据。
  • xpath:查找路径。

输出结果

VARCHAR类型。第一个参数为NULL,输出结果为NULL;如果第二个参数为NULL,会报XPATH不能为空的错误,两个参数同时为NULL,输出结果为NULL

执行类型

TYPEVALUE说明
NATIVE0函数只能在本地计算
VOLATI0函数的每次计算值不同
STABLE0函数的每次计算值相同
COMPUTE0函数支持预计算取值
NOT_CONST0函数不支持转常数
HAVE_DEF0函数参数有默认值

示例

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 |
+----------+