En MariaDB, GREATEST() es una función integrada que devuelve el argumento más grande (es decir, el más grande/de valor máximo) de su lista de argumentos.
Para devolver el mínimo -argumento valorado, use LEAST() .
Sintaxis
La sintaxis es así:
GREATEST(value1,value2,...)
Donde value1,value2,… son dos o más argumentos para los cuales se devuelve el mayor.
Ejemplo
He aquí un ejemplo:
SELECT GREATEST(3, 8); Resultado:
+----------------+ | GREATEST(3, 8) | +----------------+ | 8 | +----------------+
Aquí hay otro ejemplo que usa más argumentos:
SELECT GREATEST(3, 8, 9, 12, 80, 7, 4); Resultado:
+---------------------------------+ | GREATEST(3, 8, 9, 12, 80, 7, 4) | +---------------------------------+ | 80 | +---------------------------------+
Expresiones
Los argumentos pueden incluir expresiones como esta:
SELECT GREATEST(2 * 3, 1 * 3); Resultado:
+------------------------+ | GREATEST(2 * 3, 1 * 3) | +------------------------+ | 6 | +------------------------+
Cuerdas
Los argumentos no necesitan ser numéricos. Por ejemplo, aquí hay una comparación de cadenas:
SELECT GREATEST('a', 'b', 'z'); Resultado:
+-------------------------+
| GREATEST('a', 'b', 'z') |
+-------------------------+
| z |
+-------------------------+ Fechas
Aquí hay una comparación de cadenas de fecha:
SELECT GREATEST('2020-01-01', '2021-01-01'); Resultado:
+--------------------------------------+
| GREATEST('2020-01-01', '2021-01-01') |
+--------------------------------------+
| 2021-01-01 |
+--------------------------------------+ Tipos mixtos
La documentación de MariaDB establece que si algún argumento es una cadena que distingue entre mayúsculas y minúsculas, los argumentos se comparan como cadenas que distinguen entre mayúsculas y minúsculas. Sin embargo, es posible que la mezcla de tipos produzca resultados inesperados y una advertencia.
Ejemplo:
SELECT GREATEST('Cat', 10); Resultado:
+---------------------+
| GREATEST('Cat', 10) |
+---------------------+
| 10 |
+---------------------+
1 row in set, 1 warning (0.000 sec) Compruebe la advertencia:
SHOW WARNINGS; Resultado:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Argumentos nulos
GREATEST() devuelve null si algún argumento es null :
SELECT GREATEST(1, null, 3); Resultado:
+----------------------+ | GREATEST(1, null, 3) | +----------------------+ | NULL | +----------------------+
Argumentos faltantes
Llamando a GREATEST() con el número incorrecto de argumentos, o sin ningún argumento da como resultado un error:
SELECT GREATEST(); Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'
Y:
SELECT GREATEST(10); Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'