1.1 Daftar fungsi kondisional
Bahasa SQL memiliki daftar fungsi yang agak mirip dengan operator if-else
di switch
Java.
Ada total 4 fungsi seperti itu:
Fungsi | Keterangan | |
---|---|---|
1 | KASUS | saklar analog |
2 | JIKA() | Analog dari operator ternary atau if-else |
3 | IFNULL() | analog dari if-else |
4 | NULLIF() | analog dari if-else |
Tiga yang terakhir dalam SQL direpresentasikan sebagai fungsi, dan CASE
merupakan operator lengkap, jadi kami akan mempertimbangkannya secara terpisah di bagian paling akhir.
1.2 JIKA() fungsi
Fungsi IF()
dalam SQL agak mirip dengan operator ternary di Jawa. Dalam bahasa SQL, dibutuhkan 3 parameter dan tampilannya seperti ini:
IF (condition, true, false)
Tiga ekspresi harus diteruskan ke fungsi IF
:
- suatu kondisi yang diuji kebenarannya;
- ekspresi yang dikembalikan saat kondisinya benar;
- ekspresi yang dikembalikan ketika kondisi salah.
Di bawah ini saya akan memberikan beberapa contoh agar lebih mudah memahami cara kerjanya:
Meminta | Hasil | |
---|---|---|
1 | PILIH JIKA( 1>2 , 2, 3) | 3 |
2 | PILIH JIKA( 1<2 , 'ya', 'tidak') | 'Ya' |
3 | SELECT IF( STRCMP('test','test1' ), 'no', 'yes') | 'TIDAK' |
1.3 Fungsi IFNULL() dan NULLIF()
Ada juga dua modifikasi fungsi IF()
.
Modifikasi pertama adalah fungsi IFNULL()
. Hanya membutuhkan dua nilai:
IFNULL (expression 1, expression 2)
Jika ekspresi1 tidak sama dengan NULL
, maka fungsi akan mengembalikan ekspresi1 . Jika ekspresi1 IS NULL,
maka fungsi akan mengembalikan ekspresi2 . Intinya adalah substitusi dari nilai default ketika field sama dengan NULL
.
Modifikasi kedua dari fungsi IF
adalah function NULLIF()
, ini juga membutuhkan dua nilai:
NULLIF (expression 1, expression 2)
Ia bekerja dalam arah yang berlawanan:
- jika ekspresi1 sama dengan ekspresi2 , maka fungsi mengembalikan
NULL
; - jika ekspresi tidak sama, maka ekspresi1 dikembalikan .
GO TO FULL VERSION