mysql中nvl_浅谈Mysql中类似于nvl()函数的ifnull()函数

mysql中nvl_浅谈Mysql中类似于nvl()函数的ifnull()函数IFNULL(expr1,expr2)如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。mysql>selectIFNULL(1,0);->1mysql>selectIFNULL(0,10);->0mysql>selectIFNULL(1/0,10);-…

大家好,又见面了,我是你们的朋友全栈君。

IFNULL(expr1,expr2)

如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。

mysql> select IFNULL(1,0);

-> 1

mysql> select IFNULL(0,10);

-> 0

mysql> select IFNULL(1/0,10);

-> 10

mysql> select IFNULL(1/0,’yes’);

-> ‘yes’

IF(expr1,expr2,expr3)

如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值,取决于它被使用的上下文。

mysql> select IF(1>2,2,3);

-> 3

mysql> select IF(1<2,’yes’,’no’);

-> ‘yes’

mysql> select IF(strcmp(‘test’,’test1′),’yes’,’no’);

-> ‘no’

expr1作为整数值被计算,它意味着如果你正在测试浮点或字符串值,你应该使用一个比较操作来做。

mysql> select IF(0.1,1,0);

-> 0

mysql> select IF(0.1<>0,1,0);

-> 1

在上面的第一种情况中,IF(0.1)返回0,因为0.1被变换到整数值, 导致测试IF(0)。这可能不是你期望的。在第二种情况中,比较测试原来的浮点值看它是否是非零,比较的结果被用作一个整数。

CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result …] [ELSE result] END

CASE WHEN [condition] THEN result [WHEN [condition] THEN result …] [ELSE result] END

第一个版本返回result,其中value=compare-value。第二个版本中如果第一个条件为真,返回result。如果没有匹配的result值,那么结果在ELSE后的result被返回。如果没有ELSE部分,那么NULL被返回。

mysql> SELECT CASE 1 WHEN 1 THEN “one” WHEN 2 THEN “two” ELSE “more” END;

-> “one”

mysql> SELECT CASE WHEN 1>0 THEN “true” ELSE “false” END;

-> “true”

mysql> SELECT CASE BINARY “B” when “a” then 1 when “b” then 2 END;

-> NULL

以上这篇浅谈Mysql中类似于nvl()函数的ifnull()函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: 浅谈Mysql中类似于nvl()函数的ifnull()函数

本文地址: http://www.cppcns.com/shujuku/mysql/180042.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158699.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是人工智能,大数据,云计算,物联网系统_5g物联网人工智能大数据

    什么是人工智能,大数据,云计算,物联网系统_5g物联网人工智能大数据人工智能,英文缩写为AI。是利用计算机科学技术研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法通过人脑甚至主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。 互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转…

    2022年10月6日
    5
  • java实训报告范文_java个人实训总结范文

    java实训报告范文_java个人实训总结范文java 个人实训总结范文总结是把一定阶段内的有关情况分析研究 做出有指导性的经验方法以及结论的书面材料 它在我们的学习 工作中起到呈上启下的作用 让我们一起认真地写一份总结吧 那么总结应该包括什么内容呢 下面是小编整理的 java 个人实训总结范文 希望对大家有所帮助 java 个人实训总结 1 此次只实训了短短的三周 虽说时间很短 但其中的每一天都使我收获很大 受益匪浅 它不但极大地加深了我对一些理论知识

    2025年6月29日
    3
  • 【Win7】【磁盘管理】删除相似“33fbc1d57e9aaf1ea88e6f08”缓存目录

    【Win7】【磁盘管理】删除相似“33fbc1d57e9aaf1ea88e6f08”缓存目录

    2021年12月31日
    54
  • cmd中javac和java使用及注意事项

    cmd中javac和java使用及注意事项一、简述:cmd中,执行java命令与javac命令的区别:javac:是编译命令,将java源文件编译成.class字节码文件。例如:javachello.java将生成hello.class文件。 java:是运行字节码文件;由java虚拟机对字节码进行解释和运行。例如:javahello 二、详述:下面我们来写个java文件试试。1、打开记事本…

    2022年5月28日
    36
  • XML格式化工具类(java)

    XML格式化工具类(java)下面是完整的代码importorg.apache.catalina.tribes.membership.StaticMember;importorg.apache.xml.serialize.OutputFormat;importorg.apache.xml.serialize.OutputFormat;importorg.apache.xml.serialize.XMLSeria…

    2022年7月16日
    26
  • 关于gitlab Web IDE功能使用

    关于gitlab Web IDE功能使用gitlabWebIDE使用1,进入gitlab项目路径,可以看到有个WebIDE按钮2,点击WebIDE按钮,跳到下面的界面 2.1.在这里可以建新的文件夹或者文件。 2.2.选中新建的文件夹newfoldr,点击右边的按钮,选择上传文件, 2.3.点击commit 2.4.下面要选择合并到master分支。(如果你们需要每个人需要创建新的分支去合并到 master分支,也可以选下面的createanewbranch)。再点击commit

    2022年10月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号