MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come funziona LEAST() in MariaDB

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'