Di MariaDB, GREATEST()
adalah fungsi bawaan yang mengembalikan argumen terbesar (yaitu terbesar/bernilai maksimum) dari daftar argumennya.
Untuk mengembalikan minimum -argumen bernilai, gunakan LEAST()
.
Sintaks
Sintaksnya seperti ini:
GREATEST(value1,value2,...)
Dimana value1,value2,…
adalah dua atau lebih argumen yang menghasilkan nilai terbesar.
Contoh
Ini contohnya:
SELECT GREATEST(3, 8);
Hasil:
+----------------+ | GREATEST(3, 8) | +----------------+ | 8 | +----------------+
Berikut contoh lain yang menggunakan lebih banyak argumen:
SELECT GREATEST(3, 8, 9, 12, 80, 7, 4);
Hasil:
+---------------------------------+ | GREATEST(3, 8, 9, 12, 80, 7, 4) | +---------------------------------+ | 80 | +---------------------------------+
Ekspresi
Argumen dapat mencakup ekspresi seperti ini:
SELECT GREATEST(2 * 3, 1 * 3);
Hasil:
+------------------------+ | GREATEST(2 * 3, 1 * 3) | +------------------------+ | 6 | +------------------------+
String
Argumen tidak perlu numerik. Misalnya, berikut perbandingan string:
SELECT GREATEST('a', 'b', 'z');
Hasil:
+-------------------------+ | GREATEST('a', 'b', 'z') | +-------------------------+ | z | +-------------------------+
Tanggal
Berikut perbandingan string tanggal:
SELECT GREATEST('2020-01-01', '2021-01-01');
Hasil:
+--------------------------------------+ | GREATEST('2020-01-01', '2021-01-01') | +--------------------------------------+ | 2021-01-01 | +--------------------------------------+
Jenis Campuran
Dokumentasi MariaDB menyatakan bahwa jika ada argumen yang merupakan string peka huruf besar/kecil, argumen tersebut akan dibandingkan sebagai string peka huruf besar/kecil. Namun, Anda mungkin menemukan bahwa jenis pencampuran dapat menghasilkan hasil yang tidak diharapkan, dan sebuah peringatan.
Contoh:
SELECT GREATEST('Cat', 10);
Hasil:
+---------------------+ | GREATEST('Cat', 10) | +---------------------+ | 10 | +---------------------+ 1 row in set, 1 warning (0.000 sec)
Periksa peringatannya:
SHOW WARNINGS;
Hasil:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | +---------+------+-----------------------------------------+
Argumen Null
GREATEST()
mengembalikan null
jika ada argumen null
:
SELECT GREATEST(1, null, 3);
Hasil:
+----------------------+ | GREATEST(1, null, 3) | +----------------------+ | NULL | +----------------------+
Argumen Tidak Ada
Memanggil GREATEST()
dengan jumlah argumen yang salah, atau tanpa argumen apa pun menghasilkan kesalahan:
SELECT GREATEST();
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'
Dan:
SELECT GREATEST(10);
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'