MySQL的IF(exp1, exp2, exp3)、IFNULL(exp1, exp2)、ISNULL(exp)函数的用法

目录

1、ISNULL(exp)

2、IF(exp1, exp2, exp3)

3、IFNULL(exp1, exp2)


本章主要是讲解一下mysql的常用方法if()和ifnull()的使用

1、ISNULL(exp)

该函数的作用是判断表达式exp是否为null,如果是null,则返回1,否则返回0

案例代码:以上两条语句的查询结果为分别为1和0

select ISNULL(null) from dual;
select ISNULL(1) from dual;

2、IF(exp1, exp2, exp3)

如果表达式exp1成立,则返回的结果是表达式exp2,否则返回的是表达式exp3

比如,现在有一个星印类型表xingyin_type

 通过这个表来介绍一下这个函数的使用

select *, IF(parent_id is null, "一级分类", "二级分类") as 分类等级 from xingyin_type;

以上查询用于根据parent_id是否为null来判定是一级还是二级分类

- parent_id为null表明是一级分类

- parent_id不为null表明是二级分类

查询结果

3、IFNULL(exp1, exp2)

IFNULL()函数的作用是判断表达式exp1的值是否为null,如果是则返回exp2

案例代码:以下sql语句的查询结果为0

select IFNULL(null, 0) from dual

其实IFNULL()函数多用于排序,即null值是排前面还是后面,那么有人就会想到nulls first和nulls last,其实这是Oracle的语法,mysql需要自己实现。

还是使用上面的xingyin_type表来介绍IFNULL()方法的使用

select * from xingyin_type order by IFNULL(parent_id, 0) desc

以上语句的效果等同于Oracle数据库的order by parent_id nulls last,也就是把null值排到最后面。

查询结果:

好了,文章就分享到这里了,如果这篇文章对你有所帮助,不要忘了点赞+收藏哦~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值