Di SQLite, jika Anda perlu mengganti hasil NULL dengan teks seperti “N/A”, “None”, atau bahkan teks “NULL”, Anda dapat menggunakan salah satu dari tiga solusi di bawah ini.
Contoh Data
Pertama, berikut adalah contoh kueri yang mengembalikan beberapa nilai NULL.
SELECT
CustomerId,
Fax
FROM Customer
LIMIT 5;
Hasil:
CustomerId Fax ---------- ------------- 1 +55 (12) 3923 2 3 4 5 +420 2 4172 5
Perhatikan bahwa baris 2, 3, dan 4 berisi nilai NULL di Faks kolom.
Kita dapat menggunakan metode di bawah ini untuk mengubah hasilnya sehingga kolom NULL menampilkan “T/A”.
Fungsi ifnull()
ifnull()
function menerima dua argumen, dan mengembalikan argumen pertama yang bukan NULL. Jika kedua argumen adalah NULL, maka ia mengembalikan NULL.
Jadi, argumen pertama harus berupa nilai yang dapat atau tidak dapat dibatalkan, dan argumen kedua harus berupa nilai yang ingin Anda ganti dengan nilai NULL.
Inilah cara kami dapat mengubah kueri sebelumnya untuk menampilkan “T/A” di mana pun Faks kolom adalah NULL.
SELECT
CustomerId,
ifnull(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;
Hasil:
CustomerId Fax ---------- ------------- 1 +55 (12) 3923 2 N/A 3 N/A 4 N/A 5 +420 2 4172 5
Fungsi penggabungan()
coalesce()
fungsinya sangat mirip dengan ifnull()
fungsi. Perbedaannya adalah coalesce()
menerima lebih dari dua argumen. Ini hanya mengembalikan argumen non-NULL pertama.
Oleh karena itu, kita dapat menggunakannya dengan cara yang sama seperti kita menggunakan ifnull()
dengan memberikan dua argumen.
SELECT
CustomerId,
coalesce(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;
Hasil:
CustomerId Fax ---------- ------------- 1 +55 (12) 3923 2 N/A 3 N/A 4 N/A 5 +420 2 4172 5
Perintah Titik .nullvalue
Saat menggunakan antarmuka baris perintah SQLite, Anda dapat menggunakan .nullvalue
perintah dot untuk menyelamatkan diri Anda dari keharusan menggunakan salah satu fungsi sebelumnya setiap kali Anda melakukan kueri.
Saat menggunakan perintah ini, Anda memberikan string yang akan digunakan untuk menggantikan nilai NULL.
Contoh:
.nullvalue N/A
Sekarang, setiap kali Anda menjalankan kueri yang mengembalikan nilai NULL, string “N/A” akan menggantikan nilai NULL tersebut.
SELECT
CustomerId,
Fax
FROM Customer
LIMIT 5;
Hasil:
CustomerId Fax ---------- ------------- 1 +55 (12) 3923 2 N/A 3 N/A 4 N/A 5 +420 2 4172 5