FUNGSI PERBANDINGAN
Fungsi perbandingan sama dengan operator perbandingan pada pertemuan sebelumnya.
Fungsi-fungsi ini mengijinkan Anda untuk membandingkan nilai-nilai
yang berbeda dan, dari perbandingan tersebut, mengembalikan satu dari nilai atau
mengembalikan nilai kondisi, true, false, atau NULL.
Jika salah satu atau kedua argumen dalam perbandingan adalah NULL, maka NULL yang dikembalikan.
Fungsi GREATEST() dan LEAST()
Dalam fungsi ini mengijinkan Anda untuk membandingkan dua atau lebih nilai
dan mengembalikan nilai yang paling besar atau paling kecil, tergantung dari
fungsi yang Anda gunakan. Nilai yang dispesifikasikan dapat berupa numerik,
string, atau tanggal/waktu dan dibandingkan berdasarkan pada kumpulan
karakter saat ini.
Sintaksnya adalah sebagai berikut:
GREATEST(<value1>, <value2> [{, <value>}...])Contoh penggunaan:
LEAST(<value1>, <value2> [{, <value>}...])
Akan menghasilkan nilai 32.
SELECT LEAST(32, 21, 0, -9, 23);
Akan menghasilkan nilai -9.
Contoh dalam pernyataan SELECT. Asumsi Anda telah memiliki tabel bernama
BUKU dengan kolom-kolom yang bersesuaian.
SELECT * FROM Buku
WHERE ID_Buku=GREATEST(4, 34, 2, 12, 23)
ORDER BY judul;
Dalam aplikasi yang sebenarnya Anda dapat menggantikan nilai-nilai dalam
fungsi dengan variabel-variabel, sehingga Anda tidak perlu mengetahui nilai
sebenarnya dari nilai-nilai yang dibandingkan.
Fungsi COALESCE() dan ISNULL()
Fungsi COALESCE() mengembalikan nilai pertama dari sederetan argumen yang
tidak NULL. Jika semua nilai adalah NULL, maka NULL yang dikembalikan.
Sintaksnya adalah sebagai berikut:
COALESCE(<value> [{, <value>}...])Untuk fungsi ini, minimal Anda menspesifikasikan satu nilai, meskipun fungsi
akan lebih berguna jika banyak nilai yang Anda sediakan. Contoh:
SELECT COALESCE(NULL, 2, NULL, 3);
Dalam kasus ini, nilai 2 yang dikembalikan karena dia merupakan nilai pertama
yang tidak NULL.
Fungsi ISNULL() juka berhubungan dengan nilai null, meskipun output bukan
satu dari nilai yang dispesifikasikan. Fungsi ini akan mengembalikan nilai 1 jika
ekspresi yang dievaluasi bernilai NULL; sebaliknya, fungsi akan mengembalikan
nilai 0. Sintaksnya adalah sebagai berikut:
ISNULL (<ekspresi>)
Contoh:
SELECT ISNULL(1*NULL);
Ekspresi dalam pernyataan ini adalah 1*NULL.
Sebagaimana telah disebutkan,
ekspresi akan dinilai NULL jika salah satu argumen adalah NULL. Dikarenakan
ekspresi mengevaluasi NULL, fungsi ISNULL() mengembalikan nilai 1, bukan 0.
Fungsi INTERVAL() dan STRCMP()
Fungsi INTERVAL() membandingkan integer pertama yang terdapat dalam
argumen terhadap integer berikutnya. Sintaksnya adalah sebagai berikut:
INTERVAL(<integer1>, <integer2> [{, <integer>}...])
Mulai dari <integer2>, nilai harus tertulis dalam urutan ascending (urut naik).
Jika <integer1> lebih kecil dari <integer2>, nilai 0 akan dikembalikan. Jika
<integer1> lebih kecil dari <integer3>, nilai 1 akan dikembalikan. Jika
<integer1> lebih kecil dari <integer4>, nilai 2 akan dikembalikan, dan seterusnya.
Contoh:
SELECT INTERVAL(6, -2, 0, 4, 7, 10, 12);
Dalam kasus ini, <integer1> lebih besar dari <integer2>,<integer3>, dan
<integer4>, namun lebih kecil dari <integer5>, jadi nilai yang dikembalikan
adalah 3, yang menunjukkan posisi dari <integer5>. Dengan kata lain, 7 adalah
nilai pertama dalam daftar yang lebih besar dari 6.
Fungsi STRCMP() berbeda dari INTERVAL() dalam hal pembandingan nilai string.
Sintaksnya adalah sebagai berikut:
STRCMP(<expression1>, <expression2>)
Dalam sintaks di atas, fungsi ini membandingkan tepat dua nilai. Fungsi akan
mengembalikan nilai 0 jika <ekspresi1> sama dengan <ekspresi2> dan
mengembalikan -1 jika <ekspresi1> lebih kecil dari <ekspresi2>.
Jika <ekspresi1> lebih besar dari <ekspresi2>, atau jika NULL yang dikembalikan
oleh perbandingan, fungsi akan mengembalikan nilai 1. Contoh:
SELECT STRCMP(‘big’, ‘bigger’);
Nilai-nilai yang dibandingkan berdasarkan kumpulan karakter saat ini. Karena big
lebih kecil dari bigger (alfabet pertama), maka pernyataan tersebut
FUNGSI CAST
Fungsi cast mengijinkan Anda untuk mengkonversi nilai ke tipe data tertentu atau
untuk menugaskan sebuah set karakter ke sebuah nilai. Sintaksnya adalah:
CAST(<ekspresi> AS <tipe>)
Fungsi mengkonversi nilai yang dikembalikan oleh ekspresi ke tipe konversi yang
dispesifikasi, dimana mengikuti kata kunci AS. Fungsi CAST() mendukung sejumlah
tipe konversi yang terbatas. Tipe-tipe ini sama dengan tipe-tipe data, namun mereka
spesifik ke fungsi CAST() dan fungsi CONVERT() dan digunakan untuk tujuan yang
berbeda, dimana untuk menspesifikasikan bagaimana data tersebut dispesifikasikan.
Tipe data, di lain hal, menspesifikasikan tipe data yang bisa dimasukkan ke sebuah
kolom.
Tipe konversi yang tersedia pada fungsi CAST adalah sebagai berikut:
• BINARY
• CHAR
• DATE
• DATETIME
• SIGNED [INTEGER]
• TIME
• UNSIGNED [INTEGER]
FUNGSI STRING
Fungsi ASCII() dan ORD()
Fungsi ASCII() mengijinkan Anda untuk mengidentifikasi nilai numerik dari
karakter pertama dari string. Sintaksnya adalah:
ASCII(<string>)Fungsi CHAR_LENGTH(), CHARACTER_LENGTH(), and LENGTH()
Fungsi CHAR_LENGTH() dan CHARACTER_LENGTH(), dimana sinonim,
mengembalikan jumlah karakter dari string yang dispesifikasikan. Sintaksnya:
CHAR_LENGTH(<string>)Fungsi CONCAT() dan CONCAT_WS()
Fungsi ini digunakan untuk menggabungkan string-string.
CONCAT(<string1>,<string2>,<string3>, dst)Fungsi INSTR() dan LOCATE()
Fungsi INSTR() digunakan untuk mencari sebuah substring dalam string, dimana
hasilnya adalah berupa numerik yang merupakan posisi tempat ditemukannya
substring tersebut.
INSTR(<string>,<substring>)Fungsi LCASE(), LOWER(), UCASE(), dan UPPER()
Fungsi LCASE() atau LOWER() digunakan untuk mengubah string menjadi huruf
kecil, sebaliknya UCASE() atau UPPER() untuk mengubah string ke huruf kapital
(besar).
Sintaksnya:
LCASE(<string>) atau UCASE(<string>)Fungsi LEFT() dan RIGHT()
Fungsi LEFT() digunakan untuk mengambil sejumlah string dari arah kiri,
sedangkan fungsi RIGHT() dari arah kanan. Sintaksnya:
LEFT(<string>,<jumlah>) atau RIGHT(<string>,<jumlah>)Fungsi REPEAT() dan REVERSE()
Fungsi REPEAT() digunakan untuk mengulang string sejumlah yang diinginkan.
Sintaksnya:
REPEAT(<string>, <jumlah>);Fungsi SUBSTRING()
Fungsi ini digunakan untuk mengambil sejumlah substring dari suatu string
sebanyak jumlah yang diinginkan mulai dari posisi tertentu.
SUBSTRING (<string>, <posisi>, <jumlah>)
FUNGSI NUMERIK
Fungsi CEIL(), CEILING() dan FLOOR()
Fungsi CEIL() atau CEILING() mengembalikan nilai bilangan bulat terdekat yang
lebih besar dari nilai numerik yang dimasukkan. Sedangkan fungsi FLOOR()
sebaliknya, yaitu mengembalikan nilai bilangan bulat terdekat yang lebih kecil
dari nilai yang dimasukkan. Sintaksnya:
CEIL(<bilangan>) atau FLOOR(<bilangan>)Fungsi MOD()
Fungsi mengembalikan nilai mod (sisa hasil bagi) dari bilangan tertentu terhadap
bilangan lainnya.
Sintaksnya:
MOD(<bilangan1>, <bilangan2>)Fungsi PI()
Digunakan untuk memunculkan nilai PI.
SELECT PI();
Fungsi POW() atau POWER()
Fungsi mengembalikan nilai pangkat terhadap suatu bilangan.
Contoh: 5 pangkat 2 ATAU 5^2
SELECT POW(5, 2);Fungsi ROUND() dan TRUNCATE()
Fungsi ROUND() digunakan untuk membulatkan bilangan ke atas sesuai dengan
jumlah angka desimal (di belakang koma) yang ditentukan.
SELECT ROUND(4.27943, 2);Fungsi SQRT()
Digunakan untuk mencari nilai akar dari suatu bilangan.
SELECT SQRT(16);Fungsi ADDDATE(), DATE_ADD(), SUBDATE(), DATE_SUB(), dan EXTRACT()
Fungsi ADDATE() dan DATE_ADD(), dimana merupakan fungsi yang hampir
sama, mengijinkan Anda menambahkan interval tanggal pada nilai tanggal saat
ini, berikut sintaksnya:
ADDDATE(<tanggal>, INTERVAL <ekspresi> <tipe>)
Sebagaimana Anda lihat di sintaks, dalam fungsi tersebut terdapat dua
argument, nilai <tanggal> dan klausa INTERVAL. Nilai tanggal dapat berisi
tanggal atau nilai literal tanggal/waktu atau nilai yang diturunkan dari sebuah
ekspresi. Nilai ini berlaku sebagai nilai akar/awal dimana waktu ditambahkan.
Klausa INTERVAL membutuhkan sebuah <ekspresi>, dimana harus merupakan
sebuah nilai waktu dalam format yang dapat diterima, dan nilai <tipe>.
EmoticonEmoticon