1.1 Senarai fungsi bersyarat

Bahasa SQL mempunyai senarai fungsi yang agak serupa dengan operator if-elsedi switchJawa.

Terdapat 4 fungsi sedemikian secara keseluruhan:

Fungsi Penerangan
1 KES suis analog
2 JIKA() Analog pengendali ternary atau if-else
3 IFNULL() analogi if-else
4 NULLIF() analogi if-else

Tiga terakhir dalam SQL diwakili sebagai fungsi, dan CASEmerupakan pengendali sepenuhnya, jadi kami akan mempertimbangkannya secara berasingan pada penghujungnya.

1.2 Fungsi IF().

Fungsi IF()dalam SQL agak serupa dengan pengendali ternary di Jawa. Dalam bahasa SQL, ia memerlukan 3 parameter dan kelihatan seperti ini:

IF (condition, true, false)

Tiga ungkapan mesti dihantar ke fungsi IF:

  • keadaan yang diuji kebenarannya;
  • ungkapan yang dikembalikan apabila keadaan adalah benar;
  • ungkapan yang dikembalikan apabila syarat adalah palsu.

Di bawah saya akan memberikan beberapa contoh untuk memudahkan anda memahami cara ia berfungsi:

Permintaan Hasilnya
1 PILIH JIKA( 1>2 , 2, 3) 3
2 PILIH JIKA( 1<2 , 'ya', 'tidak') 'ya'
3 PILIH JIKA( STRCMP('ujian','ujian1' ), 'tidak', 'ya') 'tidak'

1.3 Fungsi IFNULL() dan NULLIF()

Terdapat juga dua pengubahsuaian fungsi IF().

Pengubahsuaian pertama ialah fungsi IFNULL(). Ia hanya memerlukan dua nilai:

IFNULL (expression 1, expression 2)

Jika ungkapan1 tidak sama dengan NULL, maka fungsi akan mengembalikan ekspresi1 . Jika expression1 IS NULL, maka fungsi akan mengembalikan expression2 . Intipati ialah penggantian nilai lalai apabila medan adalah sama dengan NULL.

Pengubahsuaian kedua fungsi IFialah fungsi NULLIF(), ia juga memerlukan dua nilai:

NULLIF (expression 1, expression 2)

Ia berfungsi dalam arah yang bertentangan:

  • jika ungkapan1 sama dengan ungkapan2 , maka fungsi itu kembali NULL;
  • jika ungkapan tidak sama, maka ungkapan1 dikembalikan .