Инструменты пользователя

Инструменты сайта


list

LIST()

Версии сервера

0.9 1.0 1.5.3 1.5.4 1.5.5 2.0 2.0.3 2.0.4 2.1 2.5 3.0
Нет Нет Нет Нет Нет Нет Нет Нет Да Да Да

Формат

<list function> ::=
  LIST '(' [ {ALL | DISTINCT} ] <value expression> [',' <delimiter value> ] ')'

<delimiter value> ::=
      { <string literal> | <parameter> | <variable> }
Аргумент Описание
ALL Просматривает все значения в столбце.
DISTINCT Исключает повторяющиеся значения, затем ищет наибольшее.
<value expression> Столбец или выражение, которое приводится к строковому типу данных.
<delimiter value> Выражение, являющееся разделителем списка.
  1. Аргумент ALL или DISTINCT при вызове конструкции может быть пропущен. Если аргумент не задан явно, то по умолчанию считается ALL.
  2. Аргумент <delimiter value> может быть пропущен. Если аргумент не задан явно, то по умолчанию берется символ запятая ','.

Описание

LIST() является агрегатной функцией, которая обьединяет все элементы группы в строку-список.

Замечания

  1. Числовые типы и типы дата/время неявно преобразуются в строковый тип.
  2. результирующее значение имеет тип BLOB с SUB_TYPE TEXT, кроме случая, когда аргументом является BLOB с другим подтипом.
  3. Порядок элементов в списке определен реализацией, т.е. ORDER BY не влияет на результат.
  4. Начиная с версии 2.5 в качестве <delimiter value> может выступать строковая функция.

:!: В связи с особенностями реализации функция LIST() потребляет достаточно большое количество памяти во время своей работы. Эта память освобождается после завершения транзакции. По этой причине желательно использовать ее в коротких транзакциях!

Пример

/* v2.1 */
  SELECT LIST(ID, ':')
  FROM MY_TABLE
 
/* v2.5 */
SELECT
  DISCUSSION_ID,
  LIST(COMMMENT, ASCII_CHAR(13))
FROM COMMENTS
  GROUP BY DISCUSSION_ID;

См. также

Источник

Firebird-2.1-ReleaseNotes.pdf

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
C Z H V B
 
list.txt · Последнее изменение: 2024/05/27 13:09 — 213.230.100.121