Server函数之空值处理

作者: 联系我们  发布:2020-01-03

coalesce( expression [ ,...n ] )重回其参数中率先个非空表明式。

 

Select coalesce(null,null,'1','2') //结果为 1

coalesce(expression1**,**...nState of Qatar 与此 case函数等效:

 

CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL
END

 

注意:
当第一个表明式为字符串且无法转变为整数时,若在末端的表达式中有整数,那样的言辞是会报错的。
例如:

Select COALESCE('a',null,'1',2卡塔尔国 //那是张冠李戴的

这一定于

 

select 
CASE
WHEN ('a' IS NOT NULL) THEN 'a'
WHEN (2 IS NOT NULL) THEN 2
ELSE NULL
END //会现身谬误,因为系统不能够将a转变为相应的整数

 

但是

 

select 
CASE
WHEN ('a' IS NOT NULL) THEN 'a'
WHEN (2 IS NOT NULL) THEN '2'
ELSE NULL
END //那是不利的

 

为此大家在应用coalesce函数时,应该至极当心。
isnull( check_expression , replacement_value 卡塔尔 使用钦赐的替换值替换 NULL。
replacement_value 必得是足以隐式调换为 check_expresssion 类型的门类。
在表stu中
图片 1

select isnull(ssex,'p'卡塔尔(قطر‎ from stu //若ssex列中有NULL值,那么重临p

nullif( expression , expression 卡塔尔(قطر‎ 假如七个钦命的表明式相等,则赶回空值,不然 NULLIF 重返第一个 expression 的值。

select nullif(1,1) //结果为 NULL
select nullif(1,2) //结果为 1

本文由全球彩票历史版本发布于联系我们,转载请注明出处:Server函数之空值处理

关键词: