mysql null 0 空_MySQL中NULL和空值的区别 – 运维那点事

展开全部

"空值"是对null值的中文叫法,两者同指一个东西。

在代码里"零长度字符串"用一对没有间隔的英文e5a48de588b63231313335323631343130323136353331333365643535引号''表示,它的数据类型是明确的即属于字符型,存储"零长度字符串"是要占用物理磁盘空间的;

而null值其数据类型是未知的,它不会占用物理磁盘空间。

在不存在约束限制的情况我们可以将Null值插入任何数据类型的字段里,而零长度字符串''只能插入到字符型数据类型字段中,插入其它类型字段会报错。

我们通过实测看看null(空值)与零长度字符串''(或称为空字符长)之间的区别:

1)输出所有的记录

select * from students;

622874278322614692.html

注意:此例输出源表中的全部记录,含null(空值)和零长度字符串''.

2)输出电话为Null(空值)的记录

select * from students where phone is null;

622874278322614692.html

注意:此例只输出含Null(空值)的记录

3)输出电话为零长度字符串的记录

select * from students where phone='';

622874278322614692.html

注意:此例只输出含零长度字符串的记录。

4)输出电话不是零长度字符串的记录

select * from students where phone<>'';

622874278322614692.html

注意:此例MySQL的处理方式有些特别,连含Null值得记录也排除掉了,这与MSSQL的处理方式有点不一致。

5)输出电话不为空的记录

select * from students where phone is not null;

622874278322614692.html

注意:此例只要不含Null值的记录都予以输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值