SQL Server函数之空值处理-缪炜
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-查询/SQL语句


SQL Server函数之空值处理

发表时间:2018/10/12 8:47:51 评论(0) 浏览(263)  评论 | 加入收藏 | 复制
   
摘 要:SQL Server函数之空值处理
正 文:
coalesce( expression [ ,...n ] )返回其参数中第一个非空表达式。

Select coalesce(null,null,'1','2') //结果为 1
coalesce(expression1,...n) 与此 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中

select isnull(ssex,'p') from stu //若ssex列中有NULL值,那么返回p

nullif( expression , expression ) 如果两个指定的表达式相等,则返回空值,否则 NULLIF 返回第一个 expression 的值。

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


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【Access入门】多个字段0值转换成空值的示例  【麥田  2015/10/17】
【Access更新查询】将表中空值更新为当前时间的示例,UPDAT...  【麥田  2017/8/24】
【Access更新查询】通过更新查询将表中空值更新为文本型数据的示...  【麥田  2017/12/7】
保持不能为空值,焦点返回控制文本框  【雨泉  2018/2/14】
【Access入门】空值与null区别,"" 与null区别?  【麥田  2018/5/9】
【Access删除查询】多条件删除空值记录的示例一则,用删除查询删...  【麥田  2018/7/17】
 
 访客评论
总记录:0篇  页次:0/0 9 1 :
 
 发表评论
评论内容 (必填)

常见问答
技术分类
相关资源
文章搜索
关于作者

缪炜

文章分类

文章存档

友情链接