FirebirdSQL logo

LIST()

Доступно в

DSQL

Синтаксис
LIST([ALL | DISTINCT] <expr> [, separator])
Table 1. Параметры функции LIST
Параметр Описание

expr

Выражение.Может содержать столбец таблицы, константу, переменную, выражение, неагрегатную функцию или UDF, которая возвращает строковый тип данных или BLOB.Поля типа дата / время и числовые преобразуются к строке.Агрегатные функции в качестве выражения не допускаются.

separator

Разделитель.Выражение строкового типа.По умолчанию разделителем является запятая.

Тип возвращаемого результата

BLOB

Функция LIST возвращает строку, состоящую из значений аргумента, отличных от NULL в группе,разделенных запятой или заданным пользователем разделителем.Если нет значений, отличных от NULL (включая случай, когда группа пуста), возвращается NULL.

  • ALL (по умолчанию) приводит к обработке всех значений, отличных от NULL.Если указано ключевое слово DISTINCT, то дубликаты удаляются, за исключением случаев, когда expr является BLOB.

  • Необязательный аргумент separator может быть любым строковым выражением.Это позволяет указать, например, ascii_char (13) в качестве разделителя.

  • Аргументы expr и separator поддерживают BLOB любого размера и набора символов.

  • Дата / время и числовые аргументы неявно преобразуются в строки перед объединением.

  • Результатом функции является текстовый BLOB, кроме случаев, когда expr является BLOB другого подтипа.

  • Порядок значений в списке не определен — порядок, в котором строки объединяются, определяется порядком чтения из исходного набора данных.Для таблиц такой порядок обычно не определяется.Если порядок важен, исходные данные можно предварительно отсортировать используя производную таблицы или аналогичное средство.

Примеры LIST

Example 1. Использование функции LIST

Получение списка, порядок не определён.

SELECT LIST (display_name, '; ')
FROM GR_WORK;
Example 2. Использование функции LIST с заданным порядком

Получение списка в алфавитном порядке.

SELECT LIST (display_name, '; ')
FROM (SELECT display_name
      FROM GR_WORK
      ORDER BY display_name);
См. также:

SELECT.

MAX()

Доступно в

DSQL

Синтаксис
MAX([ALL | DISTINCT] <expr>)
Table 1. Параметры функции MAX
Параметр Описание

expr

Выражение.Может содержать столбец таблицы, константу, переменную, выражение, неагрегатную функцию или UDF.Агрегатные функции в качестве выражения не допускаются.

Тип возвращаемого результата

тот же что и аргумент функции expr.

Функция MAX возвращает максимальный элемент выборки, которые не равны NULL.

  • Если группа пуста или содержит только NULL, результатом будет NULL.

  • Если входным аргументом является строка, то функция вернет значение, которое будет последним в сортировке с использованием соответствующего COLLATE.

  • Эта функция полностью поддерживает текстовые BLOB любого размера и набора символов.

Note

Параметр DISTINCT не имеет смысла при использовании функцией MAX и доступен только для совместимости со стандартом.

Примеры MAX

Example 1. Использование функции MAX
SELECT
  dept_no,
  MAX(salary)
FROM employee
GROUP BY dept_no
См. также:

SELECT, [fblangref-aggfuncs-min].