Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


XMLFOREST

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

功能描述

直接创建一个只有标签名的标签。

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

语法格式

XMLFOREST:

sql
XMLFOREST( xml_attribute_list )

xml_attribute_list:

sql
xml_attribute_list ::= { xml_attribute } [ , ... ]
xml_attribute ::= val as name | IDENT;

输入参数

  • xml_attribute_list:由多个xml_attribute组成。
  • xml_attribute:字段变量或函数。

输出结果

CHAR类型。参数中as前的是标签名,as之后的是标签值,标签值可以省略,但标签名必须存在,否则会有语法等错误返回。

示例

sql
-- 单独使用
SQL> CREATE TABLE test_xmlforest(id INT,name VARCHAR,addr VARCHAR,age INT,height NUMERIC(4,2));
SQL> INSERT INTO test_xmlforest VALUES(1,'aa','street 01',11,1.55);
SQL> INSERT INTO test_xmlforest VALUES(2,'bb','street 01',12,1.55);
SQL> SELECT XMLFOREST(t.name,max(t.addr) AS addr,max(t.age) AS age) AS col FROM test_xmlforest t GROUP BY t.name;

+----------------------------------------------------+
|                        COL                         |
+----------------------------------------------------+
| <NAME>bb</NAME><ADDR>street 01</ADDR><AGE>12</AGE> |
| <NAME>aa</NAME><ADDR>street 01</ADDR><AGE>11</AGE> |
+----------------------------------------------------+

-- 在其他函数中使用
SQL> SELECT XMLELEMENT("person",XMLFOREST(t.name,t.addr,t.age)) AS person FROM test_xmlforest t;

+---------------------------------------------------------------------+
|                               PERSON                                |
+---------------------------------------------------------------------+
| <person><NAME>aa</NAME><ADDR>street 01</ADDR><AGE>11</AGE></person> |
| <person><NAME>bb</NAME><ADDR>street 01</ADDR><AGE>12</AGE></person> |
+---------------------------------------------------------------------+