sql >> Base de Datos >  >> RDS >> Mysql

Función MySQL GREATEST():encuentre el argumento más grande en una lista de argumentos

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 es NULL . 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 como DECIMAL 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.