tutorial pengembangan web terbaru
 

SQL Fungsi NULL


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

Lihatlah berikut "Products" table:

P_Id Nama Produk Patokan harga UnitsInStock UnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Sabar 32,56 23
3 gorgonzola 15,67 9 20

Misalkan bahwa "UnitsOnOrder" kolom adalah opsional, dan dapat berisi nilai NULL.

Kami memiliki pernyataan SELECT berikut:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products

Dalam contoh di atas, jika salah satu dari "UnitsOnOrder" nilai-nilai NULL, hasilnya adalah NULL.

Microsoft ISNULL() adalah fungsi yang digunakan untuk menentukan bagaimana kita ingin memperlakukan nilai NULL.

The NVL() , IFNULL() , dan COALESCE() fungsi juga dapat digunakan untuk mencapai hasil yang sama.

Dalam hal ini kita ingin nilai NULL menjadi nol.

Bawah ini, jika "UnitsOnOrder" adalah NULL tidak akan merugikan perhitungan, karena ISNULL() mengembalikan nol jika nilai NULL:

MS Access

SELECT ProductName,UnitPrice*(UnitsInStock+IIF(ISNULL(UnitsOnOrder),0,UnitsOnOrder))
FROM Products

SQL Server

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products

Oracle

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

SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products

MySQL

MySQL memang memiliki ISNULL() fungsi. Namun, ia bekerja sedikit berbeda dari Microsoft ISNULL() fungsi.

Dalam MySQL kita dapat menggunakan IFNULL() fungsi, seperti ini:

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products

atau kita dapat menggunakan COALESCE() fungsi, seperti ini:

SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products