1.1 Daftar fungsi kondisional

Bahasa SQL memiliki daftar fungsi yang agak mirip dengan operator if-elsedi switchJava.

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 CASEmerupakan 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 IFadalah 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 .