GREATEST
Description
Compares multiple expressions and returns the largest value among them. If any argument is NULL, returns NULL.
Syntax
GREATEST(<expr> [, ...])
Parameters
Required Parameter
<expr>: SupportsTINYINT,SMALLINT,INT,BIGINT,LARGEINT,FLOAT,DOUBLE,STRING,DATETIME, andDECIMALtypes.
Optional Parameters
- Supports multiple arguments.
Return Value
- Returns the largest value among the given expressions.
- If any argument is
NULL, returnsNULL.
Usage Notes
- It is recommended to pass arguments of the same type. If argument types differ, the function will attempt to convert them to the same type. For conversion rules, refer to: Type Conversion
- If any argument is NULL, the result will be NULL.
Examples
- Example 1
SELECT GREATEST(-1, 0, 5, 8);+-----------------------+
| GREATEST(-1, 0, 5, 8) |
+-----------------------+
| 8 |
+-----------------------+ - NULL argument
SELECT GREATEST(-1, 0, 5, NULL);+--------------------------+
| GREATEST(-1, 0, 5, NULL) |
+--------------------------+
| NULL |
+--------------------------+ - Type conversion
SELECT GREATEST(6, 4.29, 7);+----------------------+
| GREATEST(6, 4.29, 7) |
+----------------------+
| 7.00 |
+----------------------+The third argument "7" is converted to Decimal type.
- Date type
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 |
+-------------------------------------------------------------------------------+