1.1 Senarai fungsi bersyarat
Bahasa SQL mempunyai senarai fungsi yang agak serupa dengan operator if-else
di switch
Jawa.
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 CASE
merupakan 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 IF
ialah 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 .