SQLite ifnull()
fungsi memungkinkan Anda untuk mengganti nilai NULL dengan nilai lain.
Dibutuhkan dua argumen, dan mengembalikan salinan argumen non-NULL pertama, atau NULL jika kedua argumen NULL.
ifnull()
fungsi setara dengan coalesce()
dengan dua argumen.
Contoh Sederhana
Berikut adalah contoh sederhana untuk mendemonstrasikan konsep tersebut.
SELECT
ifnull(123, 0),
ifnull(NULL, 0);
Hasil:
ifnull(123, 0) ifnull(NULL, 0) -------------- --------------- 123 0
Kolom kedua adalah NULL dan jadi 0 dikembalikan sebagai gantinya.
Contoh Basis Data
Contoh ini menggunakan ifnull()
dalam kueri basis data. Ini menunjukkan bagaimana ifnull()
dapat berguna saat menanyakan data yang mungkin berisi nilai NULL.
Ambil tabel berikut sebagai contoh:
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Widget Stick 89.75 3 Foo Cap 11.99 4 Free Widget 0.0 5 Free Foobar 0.0 6 Free Beer
Sebagian besar produk telah diisi dengan harga, tetapi harga Bir Gratis adalah NULL.
Kita dapat mengubahnya ke nilai yang kita pilih.
SELECT
ProductName,
ifnull(Price, 0.0)
FROM Products;
Hasil:
ProductName ifnull(Price, 0.0) ------------- ------------------ Widget Holder 139.5 Widget Stick 89.75 Foo Cap 11.99 Free Widget 0.0 Free Foobar 0.0 Free Beer 0.0
Sekarang memiliki harga yang sama dengan produk gratis lainnya.
Nilai pengganti tidak harus berupa angka. Anda juga dapat menggantinya dengan string.
SELECT
ProductName,
ifnull(Price, 'FREE!')
FROM Products;
Hasil:
ProductName ifnull(Price, 'FREE!') ------------- ---------------------- Widget Holder 139.5 Widget Stick 89.75 Foo Cap 11.99 Free Widget 0.0 Free Foobar 0.0 Free Beer FREE!
Ketika Kedua Argumen NULL
Jika kedua argumen adalah NULL, maka NULL akan dikembalikan.
SELECT ifnull(NULL, NULL);
Hasil:
ifnull(NULL, NULL) ------------------