`
weitao1026
  • 浏览: 1001061 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

CODE:

7.4.8 控制流函数
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手册~~~来源于第七章~~~

分享到:
评论

相关推荐

    详解mysql中if函数的正确使用姿势

    主要介绍了详解mysql中if函数的正确使用姿势,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    MySQL中的if和case语句使用总结

    Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用: IF表达式 代码如下: IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 &lt;&gt; 0 and expr1 &lt;&gt; NULL),则 IF()的...

    mysql if判断

    mysql if判断,教你如何使用if,让你更好的使用if ,希望你帮到你们

    mysql if语句的使用

    mysql if语句的使用

    mysql实现if语句判断功能的六种使用形式

    mysql if语句的使用:在Mysql数据库中实现判断功能有很多方式,具体又分为函数和if语句形式,函数的好处是可以作为sql的一部分来运行,而if语句则需要在存储过程中使用。文档中总结了mysql实现if语句判断功能的六中...

    mysql5.7.24 dll库文件

    if (mysql_real_query(&mysql;, strSQL, strlen(strSQL))) { printf("%s\n", mysql_error(&mysql;)); printf("read failed!\n"); mysql_close(&mysql;); return 2; } //get result MYSQL_RES* result; if...

    mysql函数大全,mysql

    COALESCE它会返回列表中第一个非NULL的值,或者,如果不存在非NULL的值,它就会返回一个NULL INTERVALINTERVAL运算符提供另外一种对数字及其范围的控制。它接受一个数字列表(N0, N1, N2...),将N0与剩下的所有数字...

    MySQL 8.0 Reference Manual 官方参考手册(HTML版)

    Abstract ...If you have any questions about the features included in your edition of MySQL 8.0, refer to your MySQL 8.0 license agreement or contact your Oracle sales representative.

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

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

    MYSQL中有关SUM字段按条件统计使用IF函数(case)问题

    今天群里有人问了个问题是这样的: 然后有群友是这样回答的 代码如下: select name,sum(case when stype=4 then money*(-1) else money end ) as M from table group... 您可能感兴趣的文章:MySQL 统计查询实现代码如何

    mysql中null(IFNULL,COALESCE和NULLIF)相关知识点总结

    本文实例讲述了mysql中null(IFNULL,COALESCE和NULLIF)相关知识点。分享给大家供大家参考,具体如下: 在MySQL中,NULL值表示一个未知值,它不同于0或空字符串”,并且不等于它自身。 我们如果将NULL值与另一个...

    Mysql存储过程常用语句模板

    Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...

    C++访问MySQL

     if(mysql_real_connect(&mysql,NULL,user,pwd,dbname,0,NULL,0))   {   printf("连接成功!n");   ret = mysql_query(&mysql,"select * from accounts");   if(!ret)   {   printf("查询成功!n");...

    mysql存储过程之if语句用法实例详解

    mysql中的 IF语句允许我们根据表达式的某个条件或值结果来执行一组SQL语句,所以我们要在MySQL中形成一个表达式,可以结合文字,变量,运算符,甚至函数来组合。表达式可以返回TRUE,FALSE或NULL,这三个值之一。来看...

    nodejs mysql 实现分页的方法

    这两天学习了nodejs mysql 实现分页,很重要,所以,今天添加一点小笔记。 代码如下 var express = require('express'); var router = express.Router(); var settings = require('../settings.js... if (req.query.

    mysql insert if not exists防止插入重复记录的方法

    MySQL 当记录不存在时插入(insert if not exists) 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的...

Global site tag (gtag.js) - Google Analytics