Fungsi NULL SQL

Fungsi-fungsi ISNULL(), NVL(), IFNULL(), dan COALESCE() SQL

Lihat tabel "Products" di bawah ini:

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 komputer 699 25 15
2 cetak 365 36  
3 telepon 280 159 57

Jika "UnitsOnOrder" adalah opsional dan dapat mengandung nilai NULL.

Kami menggunakan pernyataan SELECT seperti berikut:

Pilih ProductName, UnitPrice*(UnitsInStock+UnitsOnOrder)
Dari Products

Dalam contoh di atas, jika nilai "UnitsOnOrder" adalah NULL, hasilnya akan menjadi NULL.

Fungsi ISNULL() Microsoft digunakan untuk menentukan cara menangani nilai NULL.

Fungsi NVL(), IFNULL() dan COALESCE() juga dapat mencapai hasil yang sama.

Di sini, kami ingin nilai NULL menjadi 0.

Di sini, jika "UnitsOnOrder" adalah NULL, itu akan berbahaya bagi perhitungan, jadi jika nilai adalah NULL, ISNULL() mengembalikan 0.

SQL Server / MS Access

Pilih ProductName, UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
Dari Products

Oracle

Oracle tidak memiliki fungsi ISNULL(). Namun, kami dapat menggunakan fungsi NVL() untuk mencapai hasil yang sama:

Pilih ProductName, UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
Dari Products

MySQL

MySQL juga memiliki fungsi yang mirip ISNULL(). Namun, cara kerjanya berbeda dengan fungsi ISNULL() Microsoft.

Pada MySQL, kami dapat menggunakan fungsi IFNULL() seperti ini:

Pilih ProductName, UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
Dari Products

Atau kami dapat menggunakan fungsi COALESCE() seperti ini:

Pilih ProductName, UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
Dari Products