稍后的MYSQL IFNULL使用此功能的特定叙事,供大家参考学习,假设你MYSQL IFNULL条款的使用功能类别遇到似问题。最好看。

MYSQL 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 IFNULL函数的使用进行了具体的叙述,供您參考学习。假设您在MYSQL IFNULL函数使用方面遇到过类似的问题,最好还是一看。

MYSQL 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 IFNULL使用功能的更多相关文章

  1. mysql开启全文索引功能

    注意:全文检索模块需要mysql开启全文索引功能,开启方法:修改mysql配置文件:window服务器为my.ini,linux服务器为my.cnf,在 [mysqld] 后面加入一行“ft_min_ ...

  2. oracle数据库不支持mysql中limit功能

    oracle数据库不支持mysql中limit功能,但可以通过rownum来限制返回的结果集的行数,rownum并不是用户添加的字段,而是oracle系统自动添加的. (1)使查询结果最多返回前10行 ...

  3. 对MYSQL IFNULL函数的使用进行了具体的叙述

    下文对MYSQL IFNULL函数的使用进行了具体的叙述.供您參考学习.假设您在MYSQL IFNULL函数使用方面遇到过类似的问题,最好还是一看. MYSQL IFNULL(expr1,expr2) ...

  4. mysql数据库分区功能及实例详解

    分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解   一,什么是数据库分区 前段时间写过一篇 ...

  5. mysql 内置功能目录

    mysql 内置功能 视图介绍 mysql 内置功能 视图 使用 mysql 内置功能 触发器介绍 mysql 内置功能 触发器 实验 mysql 内置功能 事务 介绍 mysql 内置功能 存储过程 ...

  6. MySQL的Auto-Failover功能

    今天来体验一下MySQL的Auto-Failover功能,这里用到一个工具MySQL Utilities,它的功能很强大.此工具提供如下功能:(1)管理工具 (克隆.复制.比较.差异.导出.导入)(2 ...

  7. mysql 内置功能 存储过程 目录

    mysql 内置功能 存储过程介绍 mysql 内置功能 存储过程 创建无参存储过程 mysql 内置功能 存储过程 创建有参存储过程 mysql 内置功能 存储过程 删除存储过程

  8. mysql 内置功能 存储过程介绍

    存储过程介绍 就是mysql内置功能把逻辑写好 的功能给封装好,封装成一个接口名,把接口名丢给应用程序,应用程序直接调用接口名实现一系列增删改查功能 这个接口叫存储过程 基于存储过程封装成一个功能 存 ...

  9. MySQL IFNULL基本用法

    MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数. 否则,IFNULL函数返回第二个参数. 两个参数可以是文字值或表达式. 以下说明了IFNU ...

随机推荐

  1. [PHP]利用MetaWeblog API实现XMLRPC功能

    [PHP]利用MetaWeblog API实现XMLRPC功能 | OWNSELF [PHP]利用MetaWeblog API实现XMLRPC功能 Windows Live Writer是一款小巧的写 ...

  2. c++重载ostream的实现

    #include <iostream> using namespace std; class Point{ public: Point(int _x = 0, int _y = 0, in ...

  3. web开发性能优化---用户体验篇

    怎样从技术角度怎样增强用户体验.都是非常多平台都在做的事情,依据个人实际经验碰到几种体验做下总结. 1.降低页面刷新白屏 适当使用ajax技术.改善刷新白屏现象. 2.信息提醒,邮件.站内信.短信在购 ...

  4. AccountManager使用教程

    API解读 这个类给用户提供了集中注冊账号的接口.用户仅仅要输入一次账户password后,就能够訪问internet资源. 不同的在线服务用不同的方式管理用户,所以account manager 为 ...

  5. ACdream 1114(莫比乌斯反演)

    传送门:Number theory 题意:给n个数,n 和 每个数的范围都是 1---222222,求n个数中互质的对数. 分析:处理出每个数倍数的个数cnt[i],然后进行莫比乌斯反演,只不过这里的 ...

  6. bzoj2301(莫比乌斯反演+分块)

    传送门:2301: [HAOI2011]Problem b 题意:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y ...

  7. android-包签名

    android-包签名 应用能在Android 系统上安装必须是经过有私有key的证书数据签名.Android系统通过证书确定应用的作者,和与应用建立信任关系.证书不会用于控制应用的安装.证书不需要权 ...

  8. 服务器编程入门(1)TCP/IP协议族

    问题聚焦: 简单地梳理一下TCP/IP各层的功能和常用协议 详细了解ARP(数据链路层)和DNS(应用层)协议的工作原理 1 TCP/IP协议族体系结构 数据链路层:     职责:实现网卡接口的网络 ...

  9. (转)JAVA 调用Web Service的三种方法

    1.使用HttpClient用到的jar文件:commons-httpclient-3.1.jar方法:预先定义好Soap请求数据,可以借助于XMLSpy Professional软件来做这一步生成. ...

  10. Hdu 3410 【单调队列】.cpp

    题意: 给出一个数组,问你对于第i个数,从最后一个比它大的数到它之间比它小的数中最大的那个数的下标,以及它右边到第一个比它大的数中比它小的数中最大的那一个数的下标<下标从1开始>. eg: ...