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