SQL ISNULL()函数

原创 2012年03月26日 19:31:10

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

假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。

我们使用如下 SELECT 语句:

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

在上面的例子中,如果有 "UnitsOnOrder" 值是 NULL,那么结果是 NULL。

微软的 ISNULL() 函数用于规定如何处理 NULL 值。

NVL(), IFNULL() 和 COALESCE() 函数也可以达到相同的结果。

在这里,我们希望 NULL 值为 0。

下面,如果 "UnitsOnOrder" 是 NULL,则不利于计算,因此如果值是 NULL 则 ISNULL() 返回 0。

SQL Server / MS Access

SELECT 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

或者我们可以使用 COALESCE() 函数,就像这样:

SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SQL Server CE和SQL Server 2000/2005中的ISNULL函数的异同

replacement_value)参数:check_expression 将被检查是否为NULL的表达式。check_expression可以是任何类型的。replacement_value 在ch...
  • zz_mm
  • zz_mm
  • 2011-03-20 17:04
  • 912

sql查询整理isnull or nvl ,as,关联查询

mysql中isNull(a,b)和oracle中nvl(a,b)数据a为null返回b,数据a有参数返回a 1.用于控制关联查询中是否显示数据项为null的数据 2.查询中数据项比较值得大小可将数据...

SQL的IsNull 和 NullIf使用说明

首先看看SQL SERVER 联机丛书的信息,其中我们该注意的地方我用红字标出: ISNULL 使用指定的替换值替换 NULL。 语法 ISNULL ( check_expression ,...

SQL---ISNULL()、CHARINDEX()

最近在看项目,项目总会用到ISNULL()函数,不懂!       所以查了查资料,最后度娘给出了好的解释!       如图:

SQL case when then 及 isnull() 例子

--> 测试数据:[动态表] if object_id('[动态表]') is not null drop table [动态表] go create table [动态表](id int,[日期]...

MYSQL 部分函数的运用(Iif, isnull , ifnull, nullif)

IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF()的返回值为数字值或字符串...

数据库中的字段为空时,使用isnull函数

数据库中的字段为空时,使用isnull函数 string sql=SELECT * FROM DownPC where  ServerIp=''; 在使用上面的SQL执行查询的时候遇到一个...

COALESCE()、isnull()、nullif()函数的用法

http://blog.csdn.net/baoshan/article/details/2907602 COALESCE() 用法 Select  COALESCE(null,null,'1',...

数据库中的字段为空时,使用isnull函数

string sql=SELECT * FROM DownPC where ServerIp=''; 在使用上面的SQL执行查询的时候遇到一个问题,如果ServerIp内的值为null的时候查询不出...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)