sql >> Databasteknik >  >> RDS >> MariaDB

Hur LEAST() fungerar i MariaDB

I MariaDB, LEAST() är en inbyggd funktion som returnerar det minsta (d.v.s. minsta/minsta värdena) argumentet från sin lista med argument.

För att få den bästa värde, använd GREATEST() .

Syntax

Syntaxen ser ut så här:

LEAST(value1,value2,...)

Där value1,value2,… är två eller flera argument för att returnera det minsta/minsta värdet.

Exempel

Här är ett exempel:

SELECT LEAST(3, 8);

Resultat:

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

Här är ett annat exempel som använder fler argument:

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

Resultat:

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

Uttryck

Argumenten kan innehålla uttryck som detta:

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

Resultat:

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

Strängar

Argumenten behöver inte vara numeriska. Till exempel, här är en jämförelse av strängar:

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

Resultat:

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

Datum

Här är en jämförelse av datumsträngar:

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

Resultat:

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

Blandade typer

MariaDB-dokumentationen säger att om något argument är en skiftlägeskänslig sträng jämförs argumenten som skiftlägeskänsliga strängar. Du kan dock upptäcka att blandningstyper kan ge oväntade resultat och en varning.

Exempel:

SELECT LEAST('Cat', 10);

Resultat:

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

Kontrollera varningen:

SHOW WARNINGS;

Resultat:

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

Nollargument

LEAST() returnerar null om något argument är null :

SELECT LEAST(1, null, 3);

Resultat:

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

Argument saknas

Anropar LEAST() med fel antal argument, eller utan några argument resulterar i ett fel:

SELECT LEAST();

Resultat:

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

Och:

SELECT LEAST(10);

Resultat:

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

  1. Den repeterbara läsisoleringsnivån

  2. Vad händer med dubbletter när du infogar flera rader?

  3. Postgres JSON-datatyp Rails-fråga

  4. För Nvarchar(Max) får jag bara 4000 tecken i TSQL?