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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Funktionen » SQL-Funktionen (P-Z)

 

XMLAGG-Funktion [Aggregat]

Erzeugt einen Wald von XML-Elementen aus einer Sammlung von XML-Werten

Syntax
XMLAGG(Wertausdruck [ ORDERBY order_by_Ausdruck ] )
Parameter
  • Wertausdruck   Ein XML-Wert. Der Inhalt wird in Escapezeichen gesetzt, es sei denn, der Datentyp ist XML. Der order_by_Ausdruck sortiert die von der Funktion zurückgegebenen Elemente.

  • order_by_Ausdruck   Ein Ausdruck, der zum Sortieren der XML-Elemente anhand des Ausdruckwerts verwendet wird

Rückgabe

XML

Bemerkungen

NULL wird nicht in das Ergebnis einbezogen. Wenn alle Eingaben gleich NULL sind bzw. keine Zeilen vorhanden sind, ist das Ergebnis gleich NULL. Wenn ein korrekt aufgebautes XML-Dokument gefordert ist, müssen Sie sicherstellen, dass Ihre Abfrage so geschrieben ist, dass die generierte XML nur ein Wurzelelement hat.

Daten in den Spalten BINARY, LONG BINARY, IMAGE und VARBINARY werden automatisch im Base64-kodierten Format zurückgegeben, wenn Sie eine Abfrage ausführen, die XMLAGG enthält.

Ein Beispiel, das die XMLAGG-Funktion mit einer ORDER BY-Klausel verwendet, finden Sie unterDie XMLAGG-Funktion verwenden.

Siehe auch
Standards und Kompatibilität
  • Teil des SQL/XML-Standardentwurfs

Beispiel

Die folgende Anweisung erzeugt ein XML-Dokument, aus dem die von den einzelnen Kunden erteilten Aufträge ersichtlich sind.

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;