Manual Tutorial...LOG MASUK
Manual Tutorial Permulaan SQL
pengarang:php.cn  masa kemas kini:2022-04-12 14:15:40

Fungsi SQL NULL



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

Sila lihat jadual "Produk" di bawah:

P_IdProductNameUnitPriceUnitsInStockUnitsOnOrder
1Jarlsberg10.451615
2Mascarpone32.5623
3Gorgonzola15.67920

Jika "UnitOnOrder" adalah pilihan dan boleh mengandungi nilai NULL.

Kami menggunakan pernyataan SELECT berikut:

SELECT ProductName,UnitPrice*(UnitInStock+UnitOnOrder)
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

PILIH ProductNama,UnitPrice*(UnitInStock+ISNULL(UnitOnOrder,0))
DARI Produk

Oracle

Oracle tidak mempunyai fungsi ISNULL(). Walau bagaimanapun, kita boleh mencapai hasil yang sama menggunakan fungsi NVL():

SELECT ProductName,UnitPrice*(UnitInStock+NVL(UnitOnOrder,0))
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:

SELECT ProductName,UnitPrice*(UnitInStock+IFNULL(UnitOnOrder,0))
DARI Produk

Atau kita boleh menggunakan fungsi COALESCE() seperti yang ditunjukkan di bawah:

SELECT ProductName,UnitPrice*(UnitInStock+COALESCE(UnitOnOrder,0))
DARI Produk

Laman web PHP Cina