GREATEST
描述
比较多个表达式的大小,并返回其中的最大值。如果任意参数为 NULL
,则返回 NULL
。
语法
GREATEST(<expr> [, ...])
参数
必需参数
<expr>
支持TINYINT
、SMALLINT
、INT
、BIGINT
、LARGEINT
、FLOAT
、DOUBLE
、STRING
、DATETIME
和DECIMAL
类型。
可选参数
- 支持多个参数
返回值
- 返回给定表达式中的最大值。
- 如果任意参数为
NULL
,则返回NULL
。
使用说明
- 尽量传入同一类型的参数,如果参数类型不同会尝试转换为相同类型,转换规则参考:类型转换
- 如果有任意一个参数的值为 NULL,得到的结果也是 NULL。
示例
- 示例 1
SELECT GREATEST(-1, 0, 5, 8);
+-----------------------+
| GREATEST(-1, 0, 5, 8) |
+-----------------------+
| 8 |
+-----------------------+ - NULL 参数
SELECT GREATEST(-1, 0, 5, NULL);
+--------------------------+
| GREATEST(-1, 0, 5, NULL) |
+--------------------------+
| NULL |
+--------------------------+ - 类型转换
SELECT GREATEST(6, 4.29, 7);
+----------------------+
| GREATEST(6, 4.29, 7) |
+----------------------+
| 7.00 |
+----------------------+第三个参数 "7" 被转换成 Decimal 类型
- 日期类型
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 |
+-------------------------------------------------------------------------------+