Collections:
GREATEST() - Finding the Greatest/Maximum Value
How to find the greatest (maximum) value of a given list of values using the GREATEST() function?
✍: FYIcenter.com
GREATEST(val1, val2, ...) is a MySQL built-in function that
returns the greatest (maximum) value of a given list of values.
For example:
SELECT GREATEST(70, 89, 73, 99, 101, 110, 116, 101, 114);
-- +---------------------------------------------------+
-- | GREATEST(70, 89, 73, 99, 101, 110, 116, 101, 114) |
-- +---------------------------------------------------+
-- | 116 |
-- +---------------------------------------------------+
SELECT GREATEST('Grape', 'Orange', 'Banana', 'Apple');
-- +------------------------------------------------+
-- | GREATEST('Grape', 'Orange', 'Banana', 'Apple') |
-- +------------------------------------------------+
-- | Orange |
-- +------------------------------------------------+
If the arguments comprise a mix of multiple data types, GREATEST() converts them to the same data type using the following rules:
Here are examples with arguments of mix data types:
SELECT GREATEST(70, 89, 73, 99, 101, 'Banana', 'Apple');
-- +--------------------------------------------------+
-- | GREATEST(70, 89, 73, 99, 101, 'Banana', 'Apple') |
-- +--------------------------------------------------+
-- | Banana |
-- +--------------------------------------------------+
SELECT GREATEST(TRUE, 70, 89, NULL, 'Banana', 'Apple');
-- +-------------------------------------------------+
-- | GREATEST(TRUE, 70, 89, NULL, 'Banana', 'Apple') |
-- +-------------------------------------------------+
-- | NULL |
-- +-------------------------------------------------+
SELECT GREATEST(NOW(), 'Yesterday'), GREATEST('2023-12-16', 'Yesterday');
-- +------------------------------+-------------------------------------+
-- | GREATEST(NOW(), 'Yesterday') | GREATEST('2023-12-16', 'Yesterday') |
-- +------------------------------+-------------------------------------+
-- | 2023-12-16 18:19:27.000000 | Yesterday |
-- +------------------------------+-------------------------------------+
SELECT GREATEST(NOW(), '2099-12-01', CURRENT_TIMESTAMP());
-- +----------------------------------------------------+
-- | GREATEST(NOW(), '2099-12-01', CURRENT_TIMESTAMP()) |
-- +----------------------------------------------------+
-- | 2099-12-01 00:00:00 |
-- +----------------------------------------------------+
SELECT GREATEST(JSON_ARRAY(70, 89), JSON_ARRAY('70', '89'));
-- +------------------------------------------------------+
-- | GREATEST(JSON_ARRAY(70, 89), JSON_ARRAY('70', '89')) |
-- +------------------------------------------------------+
-- | [70, 89] |
-- +------------------------------------------------------+
Reference information of the GREATEST() function:
GREATEST(val1, val2, ...): max Returns the greatest (maximum) value of a given list of values. Arguments, return value and availability: val1, val2, ...: Two or more values to be examined. max: Return value. The maximum value of multiple values. Available since MySQL 4.0.
Related MySQL functions:
⇒ IF() - Conditional Value Selection
⇐ GET_LOCK() - Requesting User Defined Lock
2026-07-13, 1699🔥, 0💬
Popular Posts:
How To Replace Given Values with NULL using NULLIF() in SQL Server Transact-SQL? Sometime you want t...
How To Start MySQL Server in MySQL? If you want to start the MySQL server, you can run the "mysqld" ...
How To Escape Special Characters in SQL statements in MySQL? There are a number of special character...
Where to find answers to frequently asked questions on Managing Security, Login and User in SQL Serv...
How to format a number of bytes in a human-readable unit using the FORMAT_BYTES() function? FORMAT_B...