数据库空值和null的区别
2015-09-01 10:38
555 查看
所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字, Mysql3.23.0或以后支持用 <=> 用来比较两个NULL值是否相等, 即 select * from table where id <=> NULL。
空 (NULL) 值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串” 也是一个确定的值,所以就算你定义了 NOT NULL 也可以被写入。
更详细的解释如下:
null和空值的区别–转载自这里
空 (NULL) 值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串” 也是一个确定的值,所以就算你定义了 NOT NULL 也可以被写入。
更详细的解释如下:
null和空值的区别–转载自这里
相关文章推荐
- mysql索引
- MySQL字符集
- mysql常用show命令
- mysql常用语句
- SQL Server 查询数据库中所有的表名及行数
- SQL配置文件实例 Sql_Map.xml
- Oracle 051 的几个题 (oracle 11g)
- 批量更改数据库指定字段类型
- SQL SERVER 与ACCESS、EXCEL的数据转换
- 问题:sqlserver if;结果: SqlServer if else和case
- 问题:Oracle long 类型l;结果:oracle里long类型的总结
- Oracle11g数据库监听配置
- ngnix+ tomcat +memcached 集群设置服务器负载均衡,session共享
- MySQL-5.6.13免安装版配置方法
- MySQL(10):实体、实体表和外键(foreign key)
- sql中exists,not exists的用法
- SQL 语法的 Pig 实现 (转)
- 欢迎使用CSDN-markdown编辑器
- SQL Server中Group分组获取Top N方法实现
- 10个出色的NoSQL数据库