Firebird Documentation Index → Firebird 2.1 Language Ref. Update → Aggregate functions → LIST() |
Available in: DSQL, PSQL
Added in: 2.1
Description: LIST returns a string consisting of the non-NULL
argument values in the group, separated either by a comma or by a user-supplied delimiter. If there are no non-NULL
values (this includes the case where the group is empty), NULL
is returned.
Result type: BLOB
Syntax:
LIST ([ALL | DISTINCT]expression
[,separator
])
ALL (the default) results in all non-
NULL
values to be listed. With DISTINCT, duplicates are removed, except ifexpression
is a BLOB.The optional
separator
argument may be a string literal, a parameter or a variable in versions up to 2.1.3. Starting at 2.1.4 it may be any string expression. This makes it possible to specify e.g.as a separator.
ascii_char(13)
The
expression
andseparator
arguments support BLOBs of any size and character set.Date/time and numerical arguments are implicitly converted to strings before concatenation.
The result is a text BLOB, except when
expression
is a BLOB of another subtype.The ordering of the list values is undefined.
In versions 2.1–2.1.3, the last part of the result is sometimes truncated. With a single-row set, this happens when the length gets somewhere above 4000. As the number of rows grows, the threshold climbs rapidly, so in practice this bug might not raise its head very often. It is fixed in 2.1.4.
Firebird Documentation Index → Firebird 2.1 Language Ref. Update → Aggregate functions → LIST() |