GREATEST
Версии сервера
| 2.5 | 3.0 | 4.0 | 5.0 | 6.0 |
|---|---|---|---|---|
| − | − | − | − | Да* |
* Под именем GREATEST. Синоним MAXVALUE существует с более ранних версий (описан в руководстве 2.5).
Доступно в
Формат
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)
Обсуждение