[数据分析--SQL语法解析] Sql中的ifnull函数以及相关函数解析

这是关于数据分析开设的第二个栏目,主要是用来解析sql在实际应用中出现的问题与细节,包含但不限于业务情景分析以及语句使用解析,在一定基础上进行针对性的回顾与提升,小伙伴们一起来吧!

今天带来的是关于在sql中的ifnull函数以及相关的isnull函数应用与区别。

1.ifnull的语法以及情景分析

Ifnull(exp1,exp2)是用来判断是否为空值,若exp1不为空,则执行exp1,否则执行exp2

select ifnull(1,0)  #返回1

select ifnull('','sd') #''为非空,所以返回''

select ifnull(NULL,'sd') #第一个表达式为null,所以返回'sd'

经常应用到的业务情景有:若查询某个字段不存在,使用替代字段进行,如:

select name, ifnull(telphone,homephone)

from employees #如果某人的手机号码为空,那么就查询该人的家庭电话

但是在应用中要注意where中最好不要出现ifnull,会影响效率,要是判断是否为空值直接在where加上一个判断条件 is null / is not null

select name, salary

from employees

where salary is not null

2.isnull 与nullif

isnull(exp1) 如果表达式为空,则返回1,否则为0

nullif(exp1,exp2),如果两表达式相等,则返回null,若不相等则返回exp1

一定要注意二者的使用情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值