MySQL GREATEST()
function to funkcja porównująca, która zwraca największą wartość z listy wartości.
Lista wartości jest dostarczana jako wiele argumentów. Innymi słowy, GREATEST()
zwraca argument o maksymalnej wartości z listy argumentów.
Składnia
Składnia GREATEST()
idzie tak:
GREATEST(value1,value2,...)
Każdy argument jest oddzielony przecinkiem. Ta funkcja porównuje je wszystkie i zwraca tę z największą wartością.
Przykład 1 – Porównanie liczb
Jeśli wszystkie argumenty są liczbami całkowitymi, są porównywane jako liczby całkowite.
SELECT GREATEST(12, 120, 2400) AS 'Result';
Wynik:
+--------+ | Result | +--------+ | 2400 | +--------+
Jeśli co najmniej jeden argument ma podwójną precyzję, są one porównywane jako wartości podwójnej precyzji. W przeciwnym razie, jeśli przynajmniej jeden argument to DECIMAL
wartość, są porównywane jako DECIMAL
wartości.
SELECT GREATEST(12.00, 120, 2400) AS 'Result';
Wynik:
+---------+ | Result | +---------+ | 2400.00 | +---------+
Poniżej znajdziesz dokładne zasady określania wartości zwrotu.
Przykład 2 – Porównanie ciągów
Oto przykład porównywania ciągów.
SELECT GREATEST('a', 'b', 'c') AS 'Result';
Wynik:
+--------+ | Result | +--------+ | c | +--------+
Oto kolejny:
SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';
Wynik:
+--------+ | Result | +--------+ | Rat | +--------+
Przykład 3 – wartości NULL
Jeśli którykolwiek z argumentów jest NULL
, wynik to NULL
.
SELECT GREATEST('a', NULL, 'c') AS 'Result';
Wynik:
+--------+ | Result | +--------+ | NULL | +--------+
Zasady porównawcze
Przy ustalaniu, jaka będzie wartość zwrotu, stosowane są pewne zasady. Te zasady są następujące:
- Jeśli jakikolwiek argument ma wartość
NULL
, wynik toNULL
. Żadne porównanie nie jest potrzebne. - Jeśli wszystkie argumenty są wartościami całkowitymi, są porównywane jako liczby całkowite.
- Jeśli przynajmniej jeden argument ma podwójną precyzję, są one porównywane jako wartości podwójnej precyzji. W przeciwnym razie, jeśli przynajmniej jeden argument to
DECIMAL
wartość, są porównywane jakoDECIMAL
wartości. - Jeśli argumenty składają się z liczb i ciągów, są one porównywane jako liczby.
- Jeśli jakikolwiek argument jest niebinarnym (znakowym) łańcuchem, argumenty są porównywane jako niebinarne łańcuchy.
- We wszystkich innych przypadkach argumenty są porównywane jako ciągi binarne.