程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> SQL ISNULL(), NVL(), IFNULL() and COALESCE() 函數

SQL ISNULL(), NVL(), IFNULL() and COALESCE() 函數

編輯:MySQL綜合教程

SQL ISNULL(), NVL(), IFNULL() and COALESCE() 函數這些在我們常用到sql語句中會常常用到的下面我們就來看看實例教程吧.

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Mascarpone 32.56 23  
3 Gorgonzola 15.67 9 20


假設“ UnitsOnOrder ”一欄是可選的,可能包含空值。

我們有以下的SELECT語句:
SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products
在上面的例子中,如果任何“ UnitsOnOrder ”價值觀是空,其結果是無效的。 微軟的ISNULL ( )函數是用來指定我們要如何處理空值。 該NVL ( ) , IFNULL ( )和聯合( )函數還可以用來實現同樣的結果。 在這種情況下,我們要空值為零。 下面,如果“ UnitsOnOrder ”為NULL它不會損害計算,因為ISNULL ( )返回一個零值,如果為NULL : SQL Server / MS AccessSELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products
 
Oracle
Oracle沒有ISNULL ( )函數。但是,我們可以使用NVL ( )函數來實現相同的結果SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products
 
mysql
 
MySQL的確實有一個ISNULL ( )函數。然而,它的作品有點不同,微軟的ISNULL ( )函數。 MySQL中我們可以使用IFNULL ( )函數,就像這樣: SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved