с Firebird 6.0 ваша версия: любая

GREATEST

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

2.53.04.05.06.0
−−−−Да*

* Под именем GREATEST. Синоним MAXVALUE существует с более ранних версий (описан в руководстве 2.5).

Доступно в

DSQL, PSQL

Формат

GREATEST(<value> [, <value> ...])
MAXVALUE(<value> [, <value> ...])   -- синоним

Описание

Функция GREATEST возвращает максимальное значение из списка аргументов <value>. Аргументы — выражения любых совместимых типов: числа, строки, значения DATE, TIME, TIMESTAMP. Тип результата совпадает с типом первого аргумента. Список должен содержать как минимум один аргумент; на практике функция полезна при сравнении двух и более выражений — например, при выборе наибольшей цены из нескольких столбцов или установке нижней границы значения.

Особенность обработки NULL: если хотя бы один аргумент — NULL, результат тоже NULL. Это отличает функцию от агрегатной MAX, которая игнорирует NULL-значения. Если такое поведение нежелательно, аргументы предварительно обрабатывают через COALESCE.

GREATEST — совместимый со стандартом SQL псевдоним функции MAXVALUE, которая была доступна до Firebird 6.0 (и описана в руководстве 2.5). GREATEST появилась в Firebird 6.0 — версии в разработке (доступны снапшоты).

Пример

-- Наибольшая из двух цен, но не ниже 10
SELECT GREATEST(PRICE_1, PRICE_2, 10) AS PRICE
FROM PRICELIST;

То же самое через синоним MAXVALUE:

SELECT MAXVALUE(PRICE_1, PRICE_2) AS PRICE
FROM PRICELIST;

См. также

COALESCE, Встроенные функции по группам

Источник

Руководство по языку SQL СУБД Firebird 6.0 (sim1984 / ibase.ru, Public Documentation License)

Обсуждение