Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 関数 » SQL 関数 (P ~ Z)

 

XMLAGG 関数 [集合]

XML 値のコレクションから XML 要素のフォレストを生成します。

構文
XMLAGG( value-expression [ ORDER BY  order-by-expression ] )
パラメータ
  • value-expression   XML 値。データ型が XML でない場合、内容はエスケープされます。order-by-expression は、関数が返した要素を並べ替えます。

  • order-by-expression   この式の値に従って XML 要素を順序付けるために使用される式。

戻り値

XML

備考

NULL である値はどれも結果から省かれます。すべての入力が NULL の場合、またはローがない場合、結果は NULL です。整形式の XML ドキュメントを要求する場合、生成された XML のルート要素が 1 つになるようにクエリを作成します。

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;