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

MYSQL、MS SQL、 ORACLE处理NULL值总结
简介:
查询时需要给为空值赋一个自定义值。

1.MSSQL: ISNULL()

2.Oracle: NVL()

3.Mysql: IFNULL()



在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()返回一个数字或字符串值,取决于它被使用的上下文环境。