Dalam SQLite, iif()
adalah fungsi bersyarat yang mengembalikan argumen kedua atau ketiga berdasarkan evaluasi argumen pertama.
Ini secara logis setara dengan CASE WHEN X THEN Y ELSE Z END
.
iif()
adalah singkatan dari JIKA Segera .
iif()
function diperkenalkan di SQLite 3.32.0, yang dirilis pada 22 Mei 2020.
Sintaks
Sintaksnya seperti ini:
iif(X,Y,Z)
Dimana:
- X adalah ekspresi yang akan dievaluasi.
- Y mendefinisikan apa yang dikembalikan jika evaluasi X mengembalikan nilai true.
- Z mendefinisikan apa yang dikembalikan jika evaluasi X mengembalikan false.
Cara lain untuk memikirkannya adalah seperti ini:
iif(expr, truepart, falsepart)
Contoh
Berikut adalah contoh dasar untuk mendemonstrasikan bagaimana iif()
bekerja.
SELECT iif( 1 < 2, "True", "False" );
Hasil:
True
Dalam hal ini, ekspresi yang akan dievaluasi adalah 1 < 2
. Benar bahwa 1 kurang dari 2 sehingga argumen kedua dikembalikan.
Ini setara dengan melakukan hal berikut.
SELECT
CASE WHEN 1 < 2 THEN "True"
ELSE "False"
END;
Hasil:
True
Dalam contoh ini saya menggunakan kata “Benar” dan “Salah” tetapi saya bisa menggunakan apa saja.
Misalnya, saya bisa melakukan ini sebagai gantinya:
SELECT iif( 1 < 2, "Fail", "Pass" );
Hasil:
Fail
Atau itu bisa menjadi sesuatu yang sepenuhnya dihapus dari jawaban tipe biner "benar" atau "salah".
Misalnya:
SELECT iif( 1 < 2, "Sticky Rice", "Banana Smoothie" );
Hasil:
Sticky Rice
Contoh Basis Data
Berikut adalah contoh yang menggunakan kolom dari database.
SELECT
ProductName,
Qty,
iif( Qty < 10, "Order more", "Sufficient stock" ) AS Notes
FROM Products;
Hasil:
ProductName Qty Notes ----------- ---------- ---------------- Hammer 10 Sufficient stock Saw 5 Order more Wrench 7 Order more Chisel 9 Order more Bandage 70 Sufficient stock