从 XML 值的集合生成一个 XML 元素林。
XMLAGG( value-expression [ ORDER BY order-by-expression ] )
value-expression XML 值。始终将元素内容转义,除非数据类型为 XML。order-by-expression 会对该函数返回的元素排序。
order-by-expression 用以对 XML 元素排序的表达式,根据该表达式的值对 XML 元素排序。
XML
结果中任何为 NULL 的值都将被忽略。如果所有的输入都为 NULL,或输入 0 行数据,则结果为 NULL。如果您要求格式正确的 XML 文档,则必须确保编写查询以使生成的 XML 只包含一个根元素。
当执行一个包含 XMLAGG 的查询时,BINARY、LONG BINARY、IMAGE 和 VARBINARY 列中的数据将被自动以 base64 编码格式返回。
有关使用带有 ORDER BY 子句的 XMLAGG 函数的查询示例,请参见使用 XMLAGG 函数。
SQL/XML 标准草案的一部分。
以下示例生成了显示每个客户所发出的订单的 XML 文档。
SELECT XMLELEMENT( NAME "order", XMLATTRIBUTES( ID AS order_id ), ( SELECT XMLAGG( XMLELEMENT( NAME "Products", XMLATTRIBUTES( ProductID, Quantity AS "quantity_shipped" ) ) ) FROM SalesOrderItems soi WHERE soi.ID = so.ID ) ) AS products_ordered FROM SalesOrders so ORDER BY so.ID; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |