Gibt eine Liste mit durch Kommas getrennten Werten zurück
LIST( [ DISTINCT ] Zeichenfolgenausdruck [, Begrenzer-Zeichenfolge ] [ ORDER BY order-by-Ausdruck [ ASC | DESC ], ... ] )
Zeichenfolgenausdruck Ein Zeichenfolgenausdruck, normalerweise ein Spaltenname. Für jede Zeile in der Spalte wird der Wert einer kommagetrennten Liste hinzugefügt. Wenn DISTINCT angegeben wurde, werden nur eindeutige Werte hinzugefügt.
Begrenzer-Zeichenfolge Eine Begrenzer-Zeichenfolge für die Listeneinträge. Die Standardeinstellung ist ein Komma. Wenn NULL oder eine leere Zeichenfolge angegeben wird, gibt es keinen Begrenzer. Die Begrenzer-Zeichenfolge muss eine Konstante sein.
order_by_Ausdruck Die von der Funktion zurückgegebenen Elemente sortieren. Vor diesem Argument steht kein Komma, damit ist es einfacher einzusetzen, falls keine Begrenzer-Zeichenfolge angegeben wurde.
order-by-Ausdruck kann kein Ganzzahlenliteral sein. Er kann aber eine Variable sein, die einen Ganzzahlenliteral enthält. Außerdem dürfen mehrere LIST-Funktionen in demselben Abfrageblock keine unterschiedlichen Argumente für order-by-Ausdruck verwenden.
LONG VARCHAR
LONG NVARCHAR
NULL wird der Liste nicht hinzugefügt. LIST (X) gibt die Verkettung (mit Begrenzern) aller Nicht-NULL-Werte für X für jede Zeile der Gruppe wieder. Wenn in der Gruppe nicht wenigstens eine Zeile mit einem definierten X-Wert existiert, gibt LIST(X) eine leere Zeichenfolge zurück.
Eine LIST-Funktion kann nicht als Fensterfunktion verwendet werden, aber sie kann als Eingabe für eine Fensterfunktion verwendet werden.
Diese Funktion unterstützt NCHAR-Eingaben bzw. Ausgaben.
SQL/2003 Erweiterung des Herstellers
Die folgende Anweisung gibt den Wert "487 Kennedy Court, 547 School Street" zurück.
SELECT LIST( Street ) FROM Employees WHERE GivenName = 'Thomas'; |
In der folgenden Anweisung werden Mitarbeiter-IDs aufgeführt. Jede Zeile in der Ergebnismenge enthält eine Trennkommaliste mit Mitarbeiter-IDs für nur eine Abteilung.
SELECT LIST( EmployeeID ) FROM Employees GROUP BY DepartmentID; |
LIST( EmployeeID ) |
---|
102,105,160,243,247,249,266,278,... |
129,195,299,467,641,667,690,856,... |
148,390,586,757,879,1293,1336,... |
184,207,318,409,591,888,992,1062,... |
191,703,750,868,921,1013,1570,... |
Die folgende Anweisung sortiert die Mitarbeiter-IDs nach den Nachnamen der Mitarbeiter:
SELECT LIST( EmployeeID ORDER BY Surname ) AS "Sorted IDs" FROM Employees GROUP BY DepartmentID; |
Sortierte IDs "1751,591,1062,1191,992,888,318,184,1576,207,1684,1643,1607,1740,409,1507"
Sortierte IDs |
---|
1013,191,750,921,868,1658,... |
1751,591,1062,1191,992,888,318,... |
1336,879,586,390,757,148,1483,... |
1039,129,1142,195,667,1162,902,... |
160,105,1250,247,266,249,445,... |
Die folgende Anweisung gibt Listen mit Trennsemikolons zurück: Beachten Sie die Position der ORDER BY-Klausel und des Listentrennzeichens:
SELECT LIST( EmployeeID, ';' ORDER BY Surname ) AS "Sorted IDs" FROM Employees GROUP BY DepartmentID; |
Sortierte IDs |
---|
1013;191;750;921;868;1658;703;... |
1751;591;1062;1191;992;888;318;... |
1336;879;586;390;757;148;1483;... |
1039;129;1142;195;667;1162;902; ... |
160;105;1250;247;266;249;445;... |
Achten Sie auf den Unterschied zwischen der vorigen und der folgenden Anweisung, die eine Liste mit Trennkommas der Mitarbeiter-IDs,
sortiert nach einem zusammengesetzten Sortierschlüssel von ( Surname, ';' )
zurückgibt:
SELECT LIST( EmployeeID ORDER BY Surname, ';' ) AS "Sorted IDs" FROM Employees GROUP BY DepartmentID; |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |