El MySQL GREATEST()
es una función de comparación que devuelve el valor más grande de una lista de valores.
La lista de valores se proporciona como varios argumentos. En otras palabras, GREATEST()
devuelve el argumento de valor máximo de una lista de argumentos.
Sintaxis
La sintaxis de GREATEST()
va así:
GREATEST(value1,value2,...)
Cada argumento está separado por una coma. Esta función los compara todos y devuelve el de mayor valor.
Ejemplo 1:comparación de números
Si todos los argumentos son enteros, se comparan como enteros.
SELECT GREATEST(12, 120, 2400) AS 'Result';
Resultado:
+--------+ | Result | +--------+ | 2400 | +--------+
Si al menos un argumento es de doble precisión, se comparan como valores de doble precisión. De lo contrario, si al menos un argumento es DECIMAL
valor, se comparan como DECIMAL
valores.
SELECT GREATEST(12.00, 120, 2400) AS 'Result';
Resultado:
+---------+ | Result | +---------+ | 2400.00 | +---------+
Consulte a continuación las reglas exactas para determinar el valor de retorno.
Ejemplo 2:comparación de cadenas
Este es un ejemplo de comparación de cadenas.
SELECT GREATEST('a', 'b', 'c') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | c | +--------+
Aquí hay otro:
SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | Rat | +--------+
Ejemplo 3:valores NULL
Si alguno de los argumentos es NULL
, el resultado es NULL
.
SELECT GREATEST('a', NULL, 'c') AS 'Result';
Resultado:
+--------+ | Result | +--------+ | NULL | +--------+
Reglas de comparación
Se aplican ciertas reglas al determinar cuál será el valor de retorno. Estas reglas son las siguientes:
- Si algún argumento es
NULL
, el resultado esNULL
. No se necesita comparación. - Si todos los argumentos tienen valores enteros, se comparan como enteros.
- Si al menos un argumento es de doble precisión, se comparan como valores de doble precisión. De lo contrario, si al menos un argumento es
DECIMAL
valor, se comparan comoDECIMAL
valores. - Si los argumentos comprenden una combinación de números y cadenas, se comparan como números.
- Si algún argumento es una cadena no binaria (de caracteres), los argumentos se comparan como cadenas no binarias.
- En todos los demás casos, los argumentos se comparan como cadenas binarias.