MySQL GREATEST()
функцията е функция за сравнение, която връща най-голямата стойност от списък със стойности.
Списъкът със стойности се предоставя като множество аргументи. Така че с други думи, GREATEST()
връща аргумента с максимална стойност от списък с аргументи.
Синтаксис
Синтаксисът на GREATEST()
става така:
GREATEST(value1,value2,...)
Всеки аргумент е отделен със запетая. Тази функция ги сравнява всички и връща тази с най-голяма стойност.
Пример 1 – Сравняване на числа
Ако всички аргументи са цели числа, те се сравняват като цели числа.
SELECT GREATEST(12, 120, 2400) AS 'Result';
Резултат:
+--------+ | Result | +--------+ | 2400 | +--------+
Ако поне един аргумент е с двойна точност, те се сравняват като стойности с двойна точност. В противен случай, ако поне един аргумент е DECIMAL
стойност, те се сравняват като DECIMAL
стойности.
SELECT GREATEST(12.00, 120, 2400) AS 'Result';
Резултат:
+---------+ | Result | +---------+ | 2400.00 | +---------+
Вижте по-долу за точните правила за определяне на връщаната стойност.
Пример 2 – Сравняване на низове
Ето пример за сравняване на низове.
SELECT GREATEST('a', 'b', 'c') AS 'Result';
Резултат:
+--------+ | Result | +--------+ | c | +--------+
Ето още един:
SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';
Резултат:
+--------+ | Result | +--------+ | Rat | +--------+
Пример 3 – NULL стойности
Ако някой от аргументите е NULL
, резултатът е NULL
.
SELECT GREATEST('a', NULL, 'c') AS 'Result';
Резултат:
+--------+ | Result | +--------+ | NULL | +--------+
Правила за сравнение
Прилагат се определени правила, когато се определя каква ще бъде върнатата стойност. Тези правила са както следва:
- Ако някой аргумент е
NULL
, резултатът еNULL
. Не е необходимо сравнение. - Ако всички аргументи са с целочислена стойност, те се сравняват като цели числа.
- Ако поне един аргумент е с двойна точност, те се сравняват като стойности с двойна точност. В противен случай, ако поне един аргумент е
DECIMAL
стойност, те се сравняват катоDECIMAL
стойности. - Ако аргументите се състоят от комбинация от числа и низове, те се сравняват като числа.
- Ако някой аргумент е недвоичен (знаков) низ, аргументите се сравняват като недвоични низове.
- Във всички останали случаи аргументите се сравняват като двоични низове.