主页 > 知识库 > 你知道mysql中空值和null值的区别吗

你知道mysql中空值和null值的区别吗

热门标签:曲靖移动外呼系统公司 武汉网络外呼系统服务商 地图标注费用是多少 啥是企业400电话办理 百应电话机器人优势 电话外呼系统改号 外呼系统打电话上限是多少 南昌三维地图标注 怎样在地图标注销售区域

前言

最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值。以下带来示例给大家进行讲解。

建表

create table test (colA varchar(10) not null,colB varchar(10) null);

向test表中插入数据

插入colA为null的数据

insert into test values (null,1);

此时会报错,因为colA列不能为null。

插入colB为null的数据

insert into test values (1,null);

发现插入成功。

插入都为空的数据

insert into test values ('','');

插入colA为空的数据

insert into test values ('',null);

发现向colA一列插入空值成功,而colB列既可以插入空值,也可以插入NULL值。
总结一下,定义为NOT NULL的字段只能插入空值,不能插入null值,而NULL字段可以插入空值,也可以插入null值。

插入都不为空的数据

insert into test values (1,2);

开始查询




可以发现 is not null 只会过滤为null值的列,而>会同时过滤空值和null值,所以要根据实际情况选择过滤方式。
另外,判断null值只能用 is null 或 is not null ,不能用 = 或 >。

特别注意

1、在进行count()统计某列的记录数的时候,如果采用的NULL值,会别系统自动忽略掉,但是空值是会进行统计到其中的。

2、判断NULL 用IS NULL 或者 is not null,SQL 语句函数中可以使用ifnull()函数来进行处理,判断空字符用 = 或者 > 来进行处理

3、对于MySQL特殊的注意事项,对于timestamp数据类型,如果往这个数据类型插入的列插入NULL值,则出现的值是当前系统时间。插入空值,则会出现 ‘0000-00-00 00:00:00'

4、对于空值的判断到底是使用is null 还是 = 要根据实际业务来进行区分。

5、当使用ORDER BY时,首先呈现NULL值。如果你用DESC以降序排序,NULL值最后显示。当使用GROUP BY时,所有的NULL值被认为是相等的,故只显示一行。

总结

到此这篇关于mysql中空值和null值的区别的文章就介绍到这了,更多相关mysql空值和null值的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • 解决mysql使用not in 包含null值的问题
  • MySQL Innodb 存储结构 和 存储Null值 用法详解
  • mysql字符串拼接并设置null值的实例方法
  • Mysql实现null值排在最前/最后的方法示例
  • MySQL中对于NULL值的理解和使用教程
  • 详解MySQL中的NULL值
  • mysql中将null值转换为0的语句
  • MySQL中关于null值的一个小问题

标签:随州 锦州 沧州 荆州 黑河 甘南 资阳 吉林

巨人网络通讯声明:本文标题《你知道mysql中空值和null值的区别吗》,本文关键词  你,知道,mysql,中空,值,和,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《你知道mysql中空值和null值的区别吗》相关的同类信息!
  • 本页收集关于你知道mysql中空值和null值的区别吗的相关信息资讯供网民参考!
  • 推荐文章