mysql 将null转代为0

mysql 将null转代为0

分类: Mysql2012-12-15 11:56 6447人阅读 评论(1) 收藏 举报

1、如果为空返回0

select ifnull(null,0)

2、如果为空返回0,否则返回1

select if(isnull(col),0,1) as col.

MYSQL 中的IFNULL函数

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

原地址:http://love-love-l.blog.163.com/blog/static/21078304201002034639214/

时间: 2024-11-04 11:28:30

mysql 将null转代为0的相关文章

mysql 处理 NULL

1.如果为空返回0 select ifnull(null,0) 2.如果为空返回0,否则返回1 select if(isnull(col),0,1) as col. MYSQL 中的IFNULL函数 IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境. mysql> select IFNULL(1,0);        -> 1mysql> selec

MySQL 中NULL和空值的区别 (转载 http://blog.sina.com.cn/s/blog_3f2a82610102v4dn.html)

平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效率的事情的发生. 问题 1: 首先,我们需要搞清楚 "空值" 和"NULL"的概念: 1:空值('')是不占用空间的 2: MySQL中的NULL其实是占用空间的.官方文档说明: “NULL columns require additional space in the

MySQL的NULL值处理

我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是NULL,此运算符返回true. IS NOT NULL: 当列的值不为NULL, 运算符返回true. <=>: 比较操作符(不同于=运算符),当比较的的两个值为NULL时返回true. 关于 NULL 的条件比较运算是比较特殊的.你不能使用 = NUL

mysql 判断null 和 空字符串

1.在mysql中null 不能使用任何运算符与其他字段或者变量(函数.存储过程)进行运算.若使用运算数据就可能会有问题. 2.对null 的判断: 创建一个user表:id 主健 name 可以为空 select * from user; insert into user values('33',null);  ##创建一条name为空的数据 insert into user values('222','');  ##创建一条为空字符的数据 用isnull判断是否为空:只有name 为null

2016.8.01 &quot;&quot; null undefined NaN 0 特殊比较是true还是false

在javascript的世界里,无论是函数,还是数组,还是对象,亦或是字符串,数字,布尔类型,在这些数据类型中,总有这么几个特立独行,然后造成一些可有可无的讨厌bug. 而这些讨厌bug出现的原因就是由于比较时产生的错误,而且最不易查出错误. 在这里我们整理了这几个特殊数据类型的比较.直接上代码. 上代码前,普及一个知识: ==内容比较,数据类型不比较. ===内容比较,数据类型也比较. 上代码: ==比较代码: // "" null undefined NaN 0 console.l

基于apache和mysql,安装seafile - v1.0

seafile:下一代的开源云存储更好的文件同步,隐私保护和团队协作功能!本文基于官方文档,补充描述基于apache和mysql,安装seafile服务器. 原文网址:https://cloud.seafile.com/group/762/wiki/%E5%9C%A8apache%E7%8E%AF%E5%A2%83%E4%B8%8B%E9%83%A8%E7%BD%B2seafile/ 修改:陈海青(http://hhrz.org) 1.准备 下载安装预装了apache和mysql的虚拟机(基于d

MySQL 5.6 和 MariaDB-10.0 的性能比较测试

MySQL 5.6 和 MariaDB-10.0 的性能比较测试 时间 2013-02-14 10:11:34  开源中国 原文  http://www.oschina.net/question/12_90065 主题 MariaDBOLTP测试技术 Oracle 刚刚发布了 MySQL 5.6.10 GA 版本,所以是时候更新下之前的性能测试数据了,此次的测试包括以下几个版本: MySQL-5.5.29 MySQL-5.6.10 MariaDB-5.5.28a MariaDB-10.0.1 此

Javascript中的undefined、null、&quot;&quot;、0值和false的区别总结

在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean

SQL Server、Oracle和MySQL判断NULL的方法

SQL Server.Oracle和MySQL判断NULL的方法 本文讲述SQL Server.Oracle.MySQL查出值为NULL的替换. 在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 Java代码 复制代码代码如下: ISNULL ( check_expression , replacement_value ) ISNULL ( check_expression , replacement_value )