Mysql
 sql >> Database >  >> RDS >> Mysql

Funzione MySQL GREATEST() – Trova l'argomento più grande in un elenco di argomenti

Il MySQL GREATEST() function è una funzione di confronto che restituisce il valore più grande da un elenco di valori.

L'elenco dei valori viene fornito come argomenti multipli. Quindi, in altre parole, GREATEST() restituisce l'argomento con valore massimo da un elenco di argomenti.

Sintassi

La sintassi di GREATEST() va così:

GREATEST(value1,value2,...)

Ogni argomento è separato da una virgola. Questa funzione li confronta tutti e restituisce quello con il valore più grande.

Esempio 1:confronto dei numeri

Se tutti gli argomenti sono interi, vengono confrontati come interi.

SELECT GREATEST(12, 120, 2400) AS 'Result';

Risultato:

+--------+
| Result |
+--------+
|   2400 |
+--------+

Se almeno un argomento è a doppia precisione, vengono confrontati come valori a doppia precisione. Altrimenti, se almeno un argomento è un DECIMAL valore, vengono confrontati come DECIMAL valori.

SELECT GREATEST(12.00, 120, 2400) AS 'Result';

Risultato:

+---------+
| Result  |
+---------+
| 2400.00 |
+---------+

Vedi sotto per le regole esatte per determinare il valore di ritorno.

Esempio 2 – Confronto di stringhe

Ecco un esempio di confronto tra stringhe.

SELECT GREATEST('a', 'b', 'c') AS 'Result';

Risultato:

+--------+
| Result |
+--------+
| c      |
+--------+

Eccone un altro:

SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';

Risultato:

+--------+
| Result |
+--------+
| Rat    |
+--------+

Esempio 3 – Valori NULL

Se uno qualsiasi degli argomenti è NULL , il risultato è NULL .

SELECT GREATEST('a', NULL, 'c') AS 'Result';

Risultato:

+--------+
| Result |
+--------+
| NULL   |
+--------+

Regole di confronto

Alcune regole vengono applicate per determinare quale sarà il valore di ritorno. Queste regole sono le seguenti:

  • Se un argomento è NULL , il risultato è NULL . Non è necessario alcun confronto.
  • Se tutti gli argomenti hanno valori interi, vengono confrontati come numeri interi.
  • Se almeno un argomento è a doppia precisione, vengono confrontati come valori a doppia precisione. Altrimenti, se almeno un argomento è un DECIMAL valore, vengono confrontati come DECIMAL valori.
  • Se gli argomenti comprendono un mix di numeri e stringhe, vengono confrontati come numeri.
  • Se un argomento è una stringa (carattere) non binaria, gli argomenti vengono confrontati come stringhe non binarie.
  • In tutti gli altri casi, gli argomenti vengono confrontati come stringhe binarie.