Перейти к содержимому
Последнее обновление

GREATEST

Описание​

Сравнивает несколько выражений и возвращает наибольшее из их значений. Если хотя бы один аргумент равен NULL, возвращает NULL.

Синтаксис​

GREATEST(<expr> [, ...])

Параметры​

Обязательный параметр​

  • <expr>: Поддерживает типы TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE, STRING, DATETIME, TIMESTAMP_NS и DECIMAL.

Необязательные параметры​

  • Поддерживается передача нескольких аргументов.

Возвращаемое значение​

  • Возвращает наибольшее значение среди заданных выражений.
  • Если хотя бы один аргумент равен NULL, возвращает NULL.

Примечания по использованию​

  1. Рекомендуется передавать аргументы одного типа. Если типы аргументов различаются, функция попытается привести их к одному типу. Правила преобразования см. в разделе Преобразование типов.
  2. Если хотя бы один аргумент равен NULL, результатом будет NULL.

Примеры​

  1. Пример 1
    SELECT GREATEST(-1, 0, 5, 8);
    +-----------------------+
    | GREATEST(-1, 0, 5, 8) |
    +-----------------------+
    | 8 |
    +-----------------------+
  2. Аргумент NULL
    SELECT GREATEST(-1, 0, 5, NULL);
    +--------------------------+
    | GREATEST(-1, 0, 5, NULL) |
    +--------------------------+
    | NULL |
    +--------------------------+
  3. Преобразование типов
    SELECT GREATEST(6, 4.29, 7);
    +----------------------+
    | GREATEST(6, 4.29, 7) |
    +----------------------+
    | 7.00 |
    +----------------------+

    Третий аргумент "7" преобразуется в тип Decimal.

  4. Тип даты
    SELECT GREATEST('2022-02-26 20:02:11', '2020-01-23 20:02:11', '2020-06-22 20:02:11');
    +-------------------------------------------------------------------------------+
    | GREATEST('2022-02-26 20:02:11', '2020-01-23 20:02:11', '2020-06-22 20:02:11') |
    +-------------------------------------------------------------------------------+
    | 2022-02-26 20:02:11 |
    +-------------------------------------------------------------------------------+