SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Bagaimana SQLite Ifnull() Bekerja

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)
------------------
                  

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan waktu kompilasi Ruang Android tentang kolom dalam kunci asing bukan bagian dari indeks. Apa artinya?

  2. Bagaimana cara menyisipkan gambar di perpustakaan persistensi ruangan?

  3. Android sqlite, batasi jumlah baris dalam database

  4. Ketidakcocokan tipe data (kode 20) saat memasukkan

  5. Lampirkan String dalam Kutipan Tunggal di Hasil Query SQLite