Fungsi SQL NULL
SQL ISNULL(), NVL(), IFNULL() dan COALESCE() fungsi
Sila lihat jadual "Produk" di bawah:
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15.67 | 9 | 20 |
Jika "UnitOnOrder" adalah pilihan dan boleh mengandungi nilai NULL.
Kami menggunakan pernyataan SELECT berikut:
FROM Products
Dalam contoh di atas , jika mana-mana nilai "UnitOnOrder" ialah NULL, maka hasilnya adalah NULL.
Fungsi ISNULL() Microsoft digunakan untuk menentukan cara mengendalikan nilai NULL.
Fungsi NVL(), IFNULL() dan COALESCE() juga boleh mencapai hasil yang sama.
Di sini, kami mahu nilai NULL menjadi 0.
Di bawah, jika "UnitOnOrder" ialah NULL, ia tidak akan menjejaskan pengiraan kerana ISNULL() mengembalikan 0 jika nilainya NULL:
SQL Server / MS Access
DARI Produk
Oracle
Oracle tidak mempunyai fungsi ISNULL(). Walau bagaimanapun, kita boleh mencapai hasil yang sama menggunakan fungsi NVL():
DARI Produk
MySQL
MySQL juga mempunyai fungsi yang serupa dengan ISNULL(). Walau bagaimanapun, ia berfungsi sedikit berbeza daripada fungsi ISNULL() Microsoft.
Dalam MySQL, kita boleh menggunakan fungsi IFNULL() seperti berikut:
DARI Produk
Atau kita boleh menggunakan fungsi COALESCE() seperti yang ditunjukkan di bawah:
DARI Produk