MySql数据库中null值与其他值的比较

  1. 数据库中存在null,那么怎样查找这些值是null的记录呢?
  2. 查找到某一个字段是null的记录,最简单的想法可能是这样:

    select *from  tableName where columnName = null

    但是这样是不行的,因为null不能和任何值比较。在SQL中,NULL值与任何其它值的比较(即使是NULL)永远不会为“真”。包含NULL的表达式总是会导出NULL值,除非在关于操作符的文档中以及表达式的函数中作了其他规定。

  3. 2

    我曾经犯的错误如下:

    注意,红色字体的查询条件只能查询出pass_name!='batch'且不为null的字段(null不能和任何值比较,即使是null也不会是 true),如果需要查询出pass_name是null的字段,必须显示的加上:or pass_name is NULL

    SELECT COUNT(*) FROM 表名 WHERE FROM_UNIXTIME(submit_time) >= '2012-08-01' AND FROM_UNIXTIME(submit_time) < '2013-07-01' AND pass_name <> 'test'(错误)

    查询出包含null且pass_name!='batch'的数据:

    SELECT COUNT(*) FROM 表名 WHERE FROM_UNIXTIME(submit_time) >= '2012-08-01' AND FROM_UNIXTIME(submit_time) < '2013-07-01' AND (pass_name <> 'test' or pass_name is null)(正确查出pass_name!=null及pass_name是null的)

  4. 3

    null 表示的含义是未知,即不知道有没有。和‘’空字符串不等,因为空字符串相当于没有值。null代表的是不知道有没有值。所以在数据查询中如果字段默认值是 null,想查询出不等于某个条件的一定要加上——字段名 is null 或者字段名 is not null来包含是null或者不是null的字段

    END

注意事项

  • null和任何值都不能比较

  • null只能用is null 或者is not null 来判断,不能用=或者!=来判断

 

原博客地址:

mysql数据库中null值与其他值的比较

http://jingyan.baidu.com/article/9113f81b2adc882b3214c7cb.html

Java编程经验分享之Map使用

http://jingyan.baidu.com/article/215817f7d9d6b31eda1423d8.html

MySql使用经验——通过in查询怎样排序问题

http://jingyan.baidu.com/article/67662997325ccf54d51b84d5.html

Mybatis使用经验之xml注意事项

http://jingyan.baidu.com/article/fec7a1e51d7b451190b4e729.html

Mybatis使用经验分享之批量操作

http://jingyan.baidu.com/article/11c17a2c7f376af446e39d21.html

MyBatis使用经验分享之查询

http://jingyan.baidu.com/article/af9f5a2dd8143b43140a4520.html

linux怎样搭建tomcat服务器

http://jingyan.baidu.com/article/3052f5a1d93c1497f31f860d.html

怎样用linux脚本查询数据中的数据

http://jingyan.baidu.com/article/2c8c281dfb0add0008252a04.html

linux编程实践经验sshpassmd5sumssh

http://jingyan.baidu.com/article/cd4c2979ca556c756e6e60aa.html

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值