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 |
+-------------------------------------------------------------------------------+