The MySQL LEAST()
funkce je porovnávací funkce, která vrací nejmenší hodnotu ze seznamu hodnot.
Seznam hodnot je poskytován jako více argumentů. Jinými slovy, LEAST()
vrátí argument s minimální hodnotou ze seznamu argumentů.
Syntaxe
Syntaxe LEAST()
vypadá takto:
LEAST(value1,value2,...)
Každý argument je oddělen čárkou. Tato funkce je všechny porovná a vrátí ten s nejmenší hodnotou.
Příklad 1 – Porovnání čísel
Pokud jsou všechny argumenty celá čísla, jsou porovnávány jako celá čísla.
SELECT LEAST(12, 120, 2400) AS 'Result';
Výsledek:
+--------+ | Result | +--------+ | 12 | +--------+
Pokud má alespoň jeden argument dvojitou přesnost, jsou porovnány jako hodnoty s dvojnásobnou přesností. Jinak, pokud je alespoň jeden argument DECIMAL
hodnota, jsou porovnány jako DECIMAL
hodnoty.
SELECT LEAST(12, 120.00, 2400) AS 'Result';
Výsledek:
+--------+ | Result | +--------+ | 12.00 | +--------+
Přesná pravidla pro určení návratové hodnoty naleznete níže.
Příklad 2 – Porovnání řetězců
Zde je příklad porovnání řetězců.
SELECT LEAST('a', 'b', 'c') AS 'Result';
Výsledek:
+--------+ | Result | +--------+ | a | +--------+
Tady je další:
SELECT LEAST('Aardvark', 'Dog', 'Rat') AS 'Result';
Výsledek:
+----------+ | Result | +----------+ | Aardvark | +----------+
Příklad 3 – hodnoty NULL
Pokud je některý z argumentů NULL
, výsledkem je NULL
.
SELECT LEAST('a', NULL, 'c') AS 'Result';
Výsledek:
+--------+ | Result | +--------+ | NULL | +--------+
Pravidla porovnávání
Při určování návratové hodnoty se uplatňují určitá pravidla. Tato pravidla jsou následující:
- Pokud je některý argument
NULL
, výsledkem jeNULL
. Není potřeba žádné srovnání. - Pokud mají všechny argumenty celočíselnou hodnotu, jsou porovnávány jako celá čísla.
- Pokud má alespoň jeden argument dvojnásobnou přesnost, jsou porovnány jako hodnoty s dvojnásobnou přesností. Jinak, pokud je alespoň jeden argument
DECIMAL
hodnota, jsou porovnány jakoDECIMAL
hodnoty. - Pokud argumenty obsahují kombinaci čísel a řetězců, porovnávají se jako čísla.
- Pokud je některý argument nebinární (znakový) řetězec, jsou argumenty porovnány jako nebinární řetězce.
- Ve všech ostatních případech jsou argumenty porovnávány jako binární řetězce.