SQL NULL 函数

 

SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数,

这几个函数是但字段为空时如何处理,

 

例如有"Products" 表:

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 computer 699 25 15
2 printer 365 36  
3 telephone 280 159 57

 

 

 

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

 

 

当UnitsOnOrder为null 时UnitPrice*(UnitsInStock+UnitsOnOrder)返回的也是null,

这样怎么办呢,

sql中有ISNULL,NVL,IFNULL,COALESCE,

 

其中 ISNULL是 SQL Server 和 MS Access中的方法,

NVL是Oracle中的方法

IFNULL和COALESCE是MySql中的方法

用法是一样的:

 

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

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

 

详细见:http://www.w3school.com.cn/sql/sql_isnull.asp

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(oracle,sql,mysql,SQL Server,asp)