MYSQL IFNULL使用功能

稍后的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

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-08-07 06:06:51

MYSQL IFNULL使用功能的相关文章

MySQL的Auto-Failover功能

今天来体验一下MySQL的Auto-Failover功能,这里用到一个工具MySQL Utilities,它的功能很强大.此工具提供如下功能:(1)管理工具 (克隆.复制.比较.差异.导出.导入)(2)复制工具 (安装.配置)(3)一般工具 (磁盘使用情况.冗余索引.搜索元数据)而我们用它来实现Master-Slave的自动Failover,下面开始 Master:192.168.13.194Slave:192.168.13.159此Failover需要建立在GTID的基础上所以MySQL版本必

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

分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解 一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例.mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存

MYSQL IFNULL函数的使用

下文对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 mys

Mysql &amp; IFNULL, NULLIF, ISNULL

最近用到mysql中的一些函数,有些也是第一次遇到,所以记录下来: 1. isnull(expr)  用法:expr为null,那么isnull( ) 的返回值为 1,否则返回值为 0. 2. IFNULL(expr1,expr2) 用法:如果expr1不为 NULL,则 IFNULL( ) 的返回值为 expr1; 否则其返回值为expr2. 3.NULLIF(expr1,expr2)   用法:如果expr1=expr2 成立,那么返回值为NULL,否则返回值为 expr1. 这和CASE

对MYSQL IFNULL函数的使用进行了详细的叙述

下文对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 mys

细聊MySQL的分区功能

此篇主要介绍下MySQL的分区功能.我们分别从分区的概念.分区对于MySQL应用的优点.分区的类别及设置来和大家一起探讨下MySQL的分区. 什么是分区? MySQL在未启用分区功能时,数据库的单个表内容是以单个文件的形式存放在文件系统上的.当启用分区功能后,MySQL将按用户指定的规则将单个表内容分割成几个文件存放在文件系统上.分区分为水平分区和垂直分区,水平分区是将表的数据按行分割成不同的数据文件,而垂直分区则是将表的数据按列分割成不同的数据文件.分片要遵循完备性原则.可重构性原则与不相交原

mysql 内置功能目录

mysql 内置功能 视图介绍  mysql 内置功能 视图 使用 mysql 内置功能 触发器介绍  mysql 内置功能 触发器 实验 原文地址:https://www.cnblogs.com/mingerlcm/p/9953649.html

MySql实现sequence功能的代码

mysql实现sequence功能 1.建立sequence记录表 CREATE TABLE `sys_sequence` ( `seq_name` varchar(50) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, `min_value` int(11) NOT NULL, `max_value` int(11) NOT NULL, `current_value` int(11) NOT NULL, `increment_value` i

Oracle - 实现MySQL的limit功能

MySQL的limit功能是获取指定行数的数据,Oracle没有这个limit,但是有其它方法. oracle数据库不支持mysql中limit功能,但可以通过rownum来限制返回的结果集的行数,rownum并不是用户添加的字段,而是oracle系统自动添加的. (1)使查询结果最多返回前10行: select * from OB_CALL_DATA_LOG where rownum<=10; (2)使查询结果返回中间的10到100行: 如:     select * from OB_CALL