跳到主要内容

GREATEST

描述

比较多个表达式的大小,并返回其中的最大值。如果任意参数为 NULL,则返回 NULL

语法

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

参数

必需参数

  • <expr> 支持 TINYINTSMALLINTINTBIGINTLARGEINTFLOATDOUBLESTRINGDATETIMEDECIMAL 类型。

可选参数

  • 支持多个参数

返回值

  • 返回给定表达式中的最大值。
  • 如果任意参数为 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 |
    +-------------------------------------------------------------------------------+