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数据库中的isnull()函数以及null的用法

SQL Serve的ISNULL函数: ISNULL(,replacement_value) 1、check_expression与replacement_value的数据类型必须一致。 2、如...
  • zhb123GGGGGG
  • zhb123GGGGGG
  • 2014年11月17日 22:34
  • 3970

ACCESS中isnull+iif 实现SQL Server中的isnull函数

在SQL Server中:select isnull(num,0) from table1 --如果num字段中的值为NULL时,将显示为0 而Access中的isnull函数,只是用来判断一个表达式...
  • jyh_jack
  • jyh_jack
  • 2008年05月26日 15:30
  • 4698

深入SQLServer中ISNULL()和Oracle 的nvl()函数使用详解

ISNULL()函数语法 ISNULL ( check_expression , replacement_value) 参数 check_expression 将被检查是否为 ...
  • shenhonglei1234
  • shenhonglei1234
  • 2016年06月12日 17:36
  • 5499

SQL Server ISNULL函数和Coalesce函数替换空值的区别

SELECT COALESCE('',0)    结果0 SELECT COALESCE(' ',0)   结果0 SELECT COALESCE(null,0)   结果0 SELECT C...
  • wozengcong
  • wozengcong
  • 2015年05月21日 17:54
  • 2056

sql server中的ISNULL()用法详解

ISNULL() 用途:使用指定的替换值替换返回值为NULL 语法:ISNULL(check_expression,replacement_value) 参数: check_expres...
  • u013857407
  • u013857407
  • 2015年03月16日 09:49
  • 1177

SQL Server中ISNULL函数介绍

ISNULL     使用指定的替换值替换   NULL。         语法     ISNULL   (   check_expression   ,   replacement_value  ...
  • holyrong
  • holyrong
  • 2007年09月29日 09:31
  • 4946

SQL 函数isnull(参数1,参数2) 如何使用

SQL   函数isnull(参数1,参数2)  如何使用下面的示例查找所有书的平均价格,用值 .00 替换 titles 表的 price 列中的所有 NULL 条目。如price不为空 就返回pr...
  • txl816
  • txl816
  • 2008年07月16日 14:19
  • 1031

SQL的IsNull 和 NullIf使用说明

首先看看SQL SERVER 联机丛书的信息,其中我们该注意的地方我用红字标出: ISNULL 使用指定的替换值替换 NULL。 语法 ISNULL ( check_expression ,...
  • td13560142839
  • td13560142839
  • 2012年04月19日 16:48
  • 7693

SQLserver中ISNULL函数与Mysql中IFNULL函数的用法

本文介绍下,sql server中的isnull函数,以及mysql中的ifnull函数,介绍二者的具体用法与区别,有兴趣的朋友可以研究下哦。 先来看SQL Serve的ISNULL函数: ...
  • scholar_man
  • scholar_man
  • 2015年01月09日 16:08
  • 1222

COALESCE与ISNULL函数

同事的一道面试题: 如何将某表中的某字段以逗号分隔拼接起来 在给出答案前,先给出测试用数据,与之前的几篇一样: --DROP TABLE T CREATE TABLE T(GRP_A VARC...
  • wozengcong
  • wozengcong
  • 2015年02月04日 13:46
  • 1045
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL ISNULL()函数
举报原因:
原因补充:

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