日期:2014-05-16  浏览次数:20740 次

SQL Server、Oracle和MySQL判断值是否为NULL
本文讲述SQL Server、Oracle、MySQL查出值为NULL的替换。

在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办?

1、MSSQL: ISNULL()

语法

ISNULL ( check_expression , replacement_value )


参数

check_expression

将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。

replacement_value

在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。

返回类型

返回与 check_expression 相同的类型。

注释

如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。

2、Oracle: NVL()

语法

NVL(eExpression1, eExpression2)


参数

eExpression1, eExpression2

如果 eExpression1 的计算结果为 null 值,则 NVL() 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 NULL

返回值类型

字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值

说明

在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。

3、Mysql: IFNULL()

语法

IFNULL(expr1,expr2)


参数

expr1,expr2

假如expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文