The MySQL GREATEST()
fungsi adalah fungsi perbandingan yang mengembalikan nilai terbesar dari daftar nilai.
Daftar nilai disediakan sebagai beberapa argumen. Jadi dengan kata lain, GREATEST()
mengembalikan argumen bernilai maksimum dari daftar argumen.
Sintaks
Sintaks GREATEST()
seperti ini:
GREATEST(value1,value2,...)
Setiap argumen dipisahkan dengan koma. Fungsi ini membandingkan semuanya dan mengembalikan yang memiliki nilai terbesar.
Contoh 1 – Membandingkan Angka
Jika semua argumen adalah bilangan bulat, mereka akan dibandingkan sebagai bilangan bulat.
SELECT GREATEST(12, 120, 2400) AS 'Result';
Hasil:
+--------+ | Result | +--------+ | 2400 | +--------+
Jika setidaknya satu argumen berpresisi ganda, argumen tersebut dibandingkan sebagai nilai presisi ganda. Jika tidak, jika setidaknya satu argumen adalah DECIMAL
nilai, mereka dibandingkan sebagai DECIMAL
nilai.
SELECT GREATEST(12.00, 120, 2400) AS 'Result';
Hasil:
+---------+ | Result | +---------+ | 2400.00 | +---------+
Lihat di bawah untuk mengetahui aturan pasti dalam menentukan nilai pengembalian.
Contoh 2 – Membandingkan String
Berikut ini contoh membandingkan string.
SELECT GREATEST('a', 'b', 'c') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | c | +--------+
Ini satu lagi:
SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | Rat | +--------+
Contoh 3 – Nilai NULL
Jika salah satu argumennya adalah NULL
, hasilnya adalah NULL
.
SELECT GREATEST('a', NULL, 'c') AS 'Result';
Hasil:
+--------+ | Result | +--------+ | NULL | +--------+
Aturan Perbandingan
Aturan tertentu diterapkan saat menentukan berapa nilai pengembaliannya. Aturan-aturan tersebut adalah sebagai berikut:
- Jika ada argumen
NULL
, hasilnya adalahNULL
. Tidak diperlukan perbandingan. - Jika semua argumen bernilai bilangan bulat, mereka akan dibandingkan sebagai bilangan bulat.
- Jika setidaknya satu argumen berpresisi ganda, argumen tersebut dibandingkan sebagai nilai presisi ganda. Jika tidak, jika setidaknya satu argumen adalah
DECIMAL
nilai, mereka dibandingkan sebagaiDECIMAL
nilai. - Jika argumen terdiri dari campuran angka dan string, mereka akan dibandingkan sebagai angka.
- Jika ada argumen yang berupa string (karakter) nonbiner, argumen tersebut akan dibandingkan sebagai string nonbiner.
- Dalam semua kasus lain, argumen dibandingkan sebagai string biner.