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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 带宽和信道带宽_名词解释信道带宽

    带宽和信道带宽_名词解释信道带宽带宽和信道带宽信道带宽:是信道能通过的最高频率与最低频率之差带宽:表示通信线路所能够传输数据的能力,是数字信道所能传输的最高数据率,单位是bit/s。来自王道教材:

    2022年10月11日
    2
  • KAFKA删除topic步骤[通俗易懂]

    KAFKA删除topic步骤[通俗易懂]以下删除kafka主题的方法在Windows环境下测试通过

    2022年10月17日
    2
  • gateway网关的作用_gateway网关限流

    gateway网关的作用_gateway网关限流Gateway服务网关SpringCloudGateway是SpringCloud的一个全新项目,该项目是基于Spring5.0,SpringBoot2.0和ProjectReactor等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性: 请求路由 权限控制 限流 架构图:权限控制

    2022年10月11日
    2
  • 解决opacity属性在低版本IE浏览器下失效的方法

    解决opacity属性在低版本IE浏览器下失效的方法以前,一直都以为ie9以下的版本不支持opacity属性。所以就同时使用opacity和ie独特的filter蒙版。但是有些时候需要一些动态的效果,就比如层的渐渐消失,隐藏,就需要使用动态变化的opacity,这种情况下,同时使用opacity和filter就显的有点麻烦了。其实,只使用opacity+jquery就完全解决这个问题。用法如下:<scripttype…

    2022年5月15日
    58
  • Eclipse之代码自动保存设置

    Eclipse之代码自动保存设置Eclipse之代码自动保存设置

    2022年4月24日
    66
  • pycharm配置远程服务器解释器_pycharm中使用jupyter

    pycharm配置远程服务器解释器_pycharm中使用jupyter前段时间,在pycharm里配置了远程的Python解释器,然后在使用过程中,发现pycharm原来是可以使用Jupyter的文件,而且还可以配置远程的Jupyter环境,今天试了一下,一开始还是走了一些坑,今天梳理一下。我们可以通过以下方式创建JupyterNotebook文件:根据自己需要,给文件命名。然后就创建了一个后缀为ipynb文件。用一段测试代码测试一下:importnumpyasnpx=np.arange(15,dtype=np.int64)

    2022年8月28日
    2

发表回复

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

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