In MariaDB, LEAST()
è una funzione incorporata che restituisce l'argomento minimo (cioè il più piccolo/con valore minimo) dal suo elenco di argomenti.
Per ottenere il più grande valore, usa GREATEST()
.
Sintassi
La sintassi è questa:
LEAST(value1,value2,...)
Dove value1,value2,…
è due o più argomenti per i quali restituire il valore più piccolo/minimo.
Esempio
Ecco un esempio:
SELECT LEAST(3, 8);
Risultato:
+-------------+ | LEAST(3, 8) | +-------------+ | 3 | +-------------+
Ecco un altro esempio che utilizza più argomenti:
SELECT LEAST(10, 7, 9, 12, 80, 8, 14);
Risultato:
+--------------------------------+ | LEAST(10, 7, 9, 12, 80, 8, 14) | +--------------------------------+ | 7 | +--------------------------------+
Espressioni
Gli argomenti possono includere espressioni come questa:
SELECT LEAST(2 * 3, 1 * 3);
Risultato:
+---------------------+ | LEAST(2 * 3, 1 * 3) | +---------------------+ | 3 | +---------------------+
Stringhe
Non è necessario che gli argomenti siano numerici. Ad esempio, ecco un confronto di stringhe:
SELECT LEAST('a', 'b', 'c');
Risultato:
+----------------------+ | LEAST('a', 'b', 'c') | +----------------------+ | a | +----------------------+
Date
Ecco un confronto delle stringhe di data:
SELECT LEAST('2020-01-01', '2021-01-01');
Risultato:
+-----------------------------------+ | LEAST('2020-01-01', '2021-01-01') | +-----------------------------------+ | 2020-01-01 | +-----------------------------------+
Tipi misti
La documentazione di MariaDB afferma che se un argomento è una stringa con distinzione tra maiuscole e minuscole, gli argomenti vengono confrontati come stringhe con distinzione tra maiuscole e minuscole. Tuttavia, potresti scoprire che la combinazione di tipi può produrre risultati imprevisti e un avviso.
Esempio:
SELECT LEAST('Cat', 10);
Risultato:
+------------------+ | LEAST('Cat', 10) | +------------------+ | 0 | +------------------+ 1 row in set, 1 warning (0.000 sec)
Controlla l'avviso:
SHOW WARNINGS;
Risultato:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Argomenti nulli
LEAST()
restituisce null
se un argomento è null
:
SELECT LEAST(1, null, 3);
Risultato:
+-------------------+ | LEAST(1, null, 3) | +-------------------+ | NULL | +-------------------+
Argomenti mancanti
Chiamando LEAST()
con il numero errato di argomenti o senza argomenti genera un errore:
SELECT LEAST();
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'
E:
SELECT LEAST(10);
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'