W MariaDB, LEAST()
jest wbudowaną funkcją, która zwraca najmniejszy (tj. najmniejszy/o minimalnej wartości) argument ze swojej listy argumentów.
Aby uzyskać najlepsze wartość, użyj GREATEST()
.
Składnia
Składnia wygląda tak:
LEAST(value1,value2,...)
Gdzie value1,value2,…
to dwa lub więcej argumentów, dla których należy zwrócić najmniejszą/minimalną wartość.
Przykład
Oto przykład:
SELECT LEAST(3, 8);
Wynik:
+-------------+ | LEAST(3, 8) | +-------------+ | 3 | +-------------+
Oto kolejny przykład z większą liczbą argumentów:
SELECT LEAST(10, 7, 9, 12, 80, 8, 14);
Wynik:
+--------------------------------+ | LEAST(10, 7, 9, 12, 80, 8, 14) | +--------------------------------+ | 7 | +--------------------------------+
Wyrażenia
Argumenty mogą zawierać wyrażenia takie jak:
SELECT LEAST(2 * 3, 1 * 3);
Wynik:
+---------------------+ | LEAST(2 * 3, 1 * 3) | +---------------------+ | 3 | +---------------------+
Struny
Argumenty nie muszą być liczbowe. Na przykład, oto porównanie ciągów:
SELECT LEAST('a', 'b', 'c');
Wynik:
+----------------------+ | LEAST('a', 'b', 'c') | +----------------------+ | a | +----------------------+
Daty
Oto porównanie ciągów dat:
SELECT LEAST('2020-01-01', '2021-01-01');
Wynik:
+-----------------------------------+ | LEAST('2020-01-01', '2021-01-01') | +-----------------------------------+ | 2020-01-01 | +-----------------------------------+
Typy mieszane
Dokumentacja MariaDB stwierdza, że jeśli jakikolwiek argument jest ciągiem z rozróżnianiem wielkości liter, argumenty są porównywane jako ciągi z rozróżnianiem wielkości liter. Jednak może się okazać, że mieszanie typów może dać nieoczekiwane wyniki i ostrzeżenie.
Przykład:
SELECT LEAST('Cat', 10);
Wynik:
+------------------+ | LEAST('Cat', 10) | +------------------+ | 0 | +------------------+ 1 row in set, 1 warning (0.000 sec)
Sprawdź ostrzeżenie:
SHOW WARNINGS;
Wynik:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Argumenty zerowe
LEAST()
zwraca null
jeśli jakikolwiek argument jest null
:
SELECT LEAST(1, null, 3);
Wynik:
+-------------------+ | LEAST(1, null, 3) | +-------------------+ | NULL | +-------------------+
Brakujące argumenty
Wywołanie LEAST()
z niewłaściwą liczbą argumentów lub bez żadnych argumentów powoduje błąd:
SELECT LEAST();
Wynik:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'
Oraz:
SELECT LEAST(10);
Wynik:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'