Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 218|回复: 0

[默认分类] MySql 里的IFNULL、NULLIF和ISNULL用法

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-10 10:17:18 | 显示全部楼层 |阅读模式
    今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下:
    mysql中isnull,ifnull,nullif的用法如下:
    isnull(expr) 的用法:
    如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。
    mysql> select isnull(1+1);
    -> 0
    mysql> select isnull(1/0);
    -> 1
    使用= 的null 值对比通常是错误的。

    isnull() 函数同 is null比较操作符具有一些相同的特性。请参见有关is null 的说明。
    IFNULL(expr1,expr2)的用法:
    假如expr1   不为   NULL,则   IFNULL()   的返回值为   expr1;
    否则其返回值为   expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。
    mysql>   SELECT   IFNULL(1,0);   
                      ->   1   
    mysql>   SELECT   IFNULL(NULL,10);   
       ->   10   
    mysql>   SELECT   IFNULL(1/0,10);   
               ->   10   
    mysql>   SELECT   
    IFNULL(1/0,"yes");   
                ->   "yes"   
    IFNULL(expr1,expr2)的默认结果值为两个表达式中更加“通用”的一个,顺序为STRING、   REAL或   
    INTEGER。假设一个基于表达式的表的情况,     或MySQL必须在内存储器中储存一个临时表中IFNULL()的返回值:   
    CREATE   TABLE   tmp   SELECT   IFNULL(1,"test")   AS   test;   
    在这个例子中,测试列的类型为   CHAR(4)。      
    NULLIF(expr1,expr2)  的用法:  
    如果expr1
    =   expr2     成立,那么返回值为NULL,否则返回值为   expr1。这和CASE   WHEN   expr1   =   expr2   
    THEN   NULL   ELSE   expr1   END相同。     
    mysql>   SELECT   
    NULLIF(1,1);   
               ->   NULL   
    mysql>   SELECT   NULLIF(1,2);   
                ->   1  
    如果参数不相等,则   MySQL   两次求得的值为     expr1   。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-24 17:09 , Processed in 0.375379 second(s), 37 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表