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 comeDECIMAL
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.