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'