sql >> Database >  >> RDS >> MariaDB

Hoe LEAST() werkt in MariaDB

In MariaDB, LEAST() is een ingebouwde functie die het argument met de minste (d.w.z. kleinste/minimumwaarde) uit de lijst met argumenten retourneert.

Om de beste . te krijgen waarde, gebruik GREATEST() .

Syntaxis

De syntaxis gaat als volgt:

LEAST(value1,value2,...)

Waar value1,value2,… is twee of meer argumenten waarvoor de kleinste/minimumwaarde moet worden geretourneerd.

Voorbeeld

Hier is een voorbeeld:

SELECT LEAST(3, 8);

Resultaat:

+-------------+
| LEAST(3, 8) |
+-------------+
|           3 |
+-------------+

Hier is nog een voorbeeld dat meer argumenten gebruikt:

SELECT LEAST(10, 7, 9, 12, 80, 8, 14);

Resultaat:

+--------------------------------+
| LEAST(10, 7, 9, 12, 80, 8, 14) |
+--------------------------------+
|                              7 |
+--------------------------------+

Uitdrukkingen

De argumenten kunnen uitdrukkingen als deze bevatten:

SELECT LEAST(2 * 3, 1 * 3);

Resultaat:

+---------------------+
| LEAST(2 * 3, 1 * 3) |
+---------------------+
|                   3 |
+---------------------+

Snaren

De argumenten hoeven niet numeriek te zijn. Hier is bijvoorbeeld een vergelijking van strings:

SELECT LEAST('a', 'b', 'c');

Resultaat:

+----------------------+
| LEAST('a', 'b', 'c') |
+----------------------+
| a                    |
+----------------------+

Datums

Hier is een vergelijking van datumreeksen:

SELECT LEAST('2020-01-01', '2021-01-01');

Resultaat:

+-----------------------------------+
| LEAST('2020-01-01', '2021-01-01') |
+-----------------------------------+
| 2020-01-01                        |
+-----------------------------------+

Gemengde soorten

De MariaDB-documentatie stelt dat als een argument een hoofdlettergevoelige tekenreeks is, de argumenten worden vergeleken als hoofdlettergevoelige tekenreeksen. Het kan echter zijn dat mengtypes onverwachte resultaten en een waarschuwing kunnen opleveren.

Voorbeeld:

SELECT LEAST('Cat', 10);

Resultaat:

+------------------+
| LEAST('Cat', 10) |
+------------------+
|                0 |
+------------------+
1 row in set, 1 warning (0.000 sec)

Controleer de waarschuwing:

SHOW WARNINGS;

Resultaat:

+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' |
+---------+------+-----------------------------------------+

Nullargumenten

LEAST() retourneert null als een argument null is :

SELECT LEAST(1, null, 3);

Resultaat:

+-------------------+
| LEAST(1, null, 3) |
+-------------------+
|              NULL |
+-------------------+

Ontbrekende argumenten

LEAST() . aanroepen met het verkeerde aantal argumenten, of zonder argumenten resulteert in een fout:

SELECT LEAST();

Resultaat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'

En:

SELECT LEAST(10);

Resultaat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'

  1. Ik wil de CASE-instructie gebruiken om enkele records in SQL Server 2005 bij te werken

  2. Hoe kan ik kolomnamen uit een tabel in Oracle halen?

  3. Seconden veranderen in een tijdwaarde in MySQL

  4. Hoe splits ik een begrensde tekenreeks in SQL Server zonder een functie te maken?