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函数的使用和参数详解相关推荐

  1. 站长在线Python精讲:在Python函数中的默认参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的默认参数详解>.本文的主要内容有:默认参数的概念和默认参数的示例.默认参数不能设置可变对象. 目录 1 ...

  2. 站长在线Python教程精讲:在Python函数中的关键字参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的关键字参数详解>.本文的主要内容有:关键字参数的含义和关键字参数的应用举例. 目录 1.关键字参数的含 ...

  3. 数据集划分函数sklearn.model_selection.train_test_split参数详解

    该函数可以随机划分样本数据为训练集和测试集,并返回划分好的训练集和测试集数据. sklearn.model_selection.train_test_split(train_data,train_ta ...

  4. split mysql的用法_mysql split函数用法实例

    首先,大家要知道的是,在mysql中并没有split函数,需要自己写. 比如下面几个mysql split函数的例子. 例1,获得按指定字符分割的字符串的个数: 复制代码 代码示例: DELIMITE ...

  5. mysql 账户管理_Mysql账户管理原理与实现方法详解

    本文实例讲述了Mysql账户管理原理与实现方法.分享给大家供大家参考,具体如下: 账户管理 在生产环境下操作数据库时,绝对不可以使用root账户连接,而是创建特定的账户,授予这个账户特定的操作权限,然 ...

  6. mysql盲注_Mysql 布尔型盲注手工注入详解

    0x00 什么叫布尔型盲注 布尔型 布尔(Boolean)型是计算机里的一种数据类型,只有True(真)和False(假)两个值.一般也称为逻辑型. 盲注 在注入时页面无具体数据返回的注入称之为盲注, ...

  7. mysql二进制文件复制_MySQL 主从复制:基于二进制文件复制配置详解

    ##MySQL-主从复制:基于二进制文件复制详解 ###前言 主从复制是指把一个MySQL的数据库服务器作为主服务器(master),然后把master的数据复制到一个或者多个MySQL数据库服务器作 ...

  8. mysql 同步 异步_MySQL异步复制、半同步复制详解

    MySQL数据复制的原理图大致如下: 从上图我们可以看出MySQL数据库的复制需要启动三个线程来实现: 其中1个在主服务器上,另两个在从服务器上.当发出START SLAVE时,从服务器创建一个I/O ...

  9. mysql shutdown 命令_Mysql 5.7.9 shutdown 语法实例详解

    mysql-5.7.9 终于提供shutdown 语法啦: 之前如果想关闭一个mysql数据库可以通过kill 命令.mysqladmin shutdown .service mysqld stop ...

最新文章

  1. linux运行shellftp上传文件,shell脚本实现ftp上传下载文件
  2. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
  3. 电脑卡顿不流畅怎么解决_电脑卡顿是什么原因,电脑卡顿严重解决方法【详解】...
  4. Python基础 列表的详解(纯干货)
  5. SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
  6. Sumsets POJ - 2229(计数dp)
  7. Atitit 运营之道 互联网产品运营之道 attilax、著 1. 概念 2 1.1. 核心点 内容 媒体 用户 活动 数据分析 2 2. 第二章内容运营   2 2.1. 2.1 创建用户模
  8. 像Selenium爬网页一样爬手机App,可见即可爬——appium 教程(二)appium实战抓取手机知乎APP的热点标题
  9. 计算机信息统计试题,计算机概率统计复习试题.doc
  10. 讯飞离线语音识别使用出现初始化失败的解决方法
  11. MYSQL_ 表结构设计和数据类型优化
  12. python实现进制转换器_python实现各进制转换的总结大全
  13. 单片机带掉电保护c语言,基于LM358的单片机掉电保护电路
  14. SQL中“||”的作用
  15. 2019华为精英挑战赛初赛模拟试题总结思考
  16. java中Excel导入,下载模板,附带前端展示
  17. ROS探索总结(九)——操作杆控制
  18. zenly安卓_Zenly安卓APP下载-Zenly安卓APP下载安装包 v4.31.0
  19. CPPcheck 配置
  20. 【插件】博客 - 看板娘

热门文章

  1. 2015:东亚不会爆发战争
  2. php 当地天气预报,PHP-php 城市天气预报功能
  3. vue h5 页面调起原生APP指定页面
  4. 一份关于IT学子的2020年度报告
  5. 史上最好的NumPy图解教程
  6. Stanford CoreNLP Stanza使用手册
  7. rtl8188eus Linux驱动移植
  8. Selenium自动化测试面试题全家桶
  9. STM32学习 3:GPIO管脚配置与第一个STM32实验:LED灯闪烁
  10. 用户账号注册的风险及安全措施