SELECT COALESCE('',0) 结果0 SELECT COALESCE(' ',0) 结果0 SELECT COALESCE(null,0) 结果0 SELECT COALESCE(123,0) 结果123 SELECT ISNULL('',0) 结果'' SELECT ISNULL(null,0) 结果0 SELECT ISNULL(123,0) 结果123
SQL Server处理空值的函数有两种
- ISNULL() 使用指定的值替换NULL
ISNULL ( check_expression , replacement_value )
web
check_expression:将被检查是否为 NULL 的表达式。check_expression 能够为任何类型。sql
replacement_value:当 check_expression 为 NULL 时要返回的表达式。replacement_value 必须是能够隐式转换为 check_expresssion 类型的类型。数据库
返回值:返回与 check_expression 相同的类型。express
若是 check_expression 不为 NULL,则返回它的值;不然,在将 replacement_value 隐式转换为 check_expression 的类型(若是这两个类型不一样)后,则返回前者。oracle
等价于CASE语句svg
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expression_n
ELSE NULL
END
NVL()函数与ISNULL()用法类似
NVL(expression1,expression2)
函数
NVL2()函数
NVL2(expression1,expression2,expression3)
spa
NULLIF()函数
NULLIF(expression1,expression2)
code
COALESCE()函数,用法同上server