В MariaDB, LEAST()
е вградена функция, която връща най-малкия (т.е. най-малкия/минимално стойностен) аргумент от своя списък с аргументи.
За да получите най-доброто стойност, използвайте GREATEST()
.
Синтаксис
Синтаксисът е така:
LEAST(value1,value2,...)
Където value1,value2,…
е два или повече аргумента, за които да се върне най-малката/минимална стойност.
Пример
Ето един пример:
SELECT LEAST(3, 8);
Резултат:
+-------------+ | LEAST(3, 8) | +-------------+ | 3 | +-------------+
Ето още един пример, който използва повече аргументи:
SELECT LEAST(10, 7, 9, 12, 80, 8, 14);
Резултат:
+--------------------------------+ | LEAST(10, 7, 9, 12, 80, 8, 14) | +--------------------------------+ | 7 | +--------------------------------+
Изрази
Аргументите могат да включват изрази като този:
SELECT LEAST(2 * 3, 1 * 3);
Резултат:
+---------------------+ | LEAST(2 * 3, 1 * 3) | +---------------------+ | 3 | +---------------------+
Стрингове
Аргументите не трябва да са числови. Например, ето сравнение на низове:
SELECT LEAST('a', 'b', 'c');
Резултат:
+----------------------+ | LEAST('a', 'b', 'c') | +----------------------+ | a | +----------------------+
Дати
Ето сравнение на низовете за дата:
SELECT LEAST('2020-01-01', '2021-01-01');
Резултат:
+-----------------------------------+ | LEAST('2020-01-01', '2021-01-01') | +-----------------------------------+ | 2020-01-01 | +-----------------------------------+
Смесени типове
Документацията на MariaDB посочва, че ако някой аргумент е низ, чувствителен към малки и големи букви, аргументите се сравняват като низове, чувствителни към малки и големи букви. Въпреки това може да откриете, че смесването на типове може да доведе до неочаквани резултати и предупреждение.
Пример:
SELECT LEAST('Cat', 10);
Резултат:
+------------------+ | LEAST('Cat', 10) | +------------------+ | 0 | +------------------+ 1 row in set, 1 warning (0.000 sec)
Проверете предупреждението:
SHOW WARNINGS;
Резултат:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Нулеви аргументи
LEAST()
връща null
ако някой аргумент е null
:
SELECT LEAST(1, null, 3);
Резултат:
+-------------------+ | LEAST(1, null, 3) | +-------------------+ | NULL | +-------------------+
Липсващи аргументи
Извикване на LEAST()
с грешен брой аргументи или без никакви аргументи води до грешка:
SELECT LEAST();
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'
И:
SELECT LEAST(10);
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LEAST'