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

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


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

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
list.txt · Последнее изменение: 2016/11/03 01:19 — 46.172.1.3