首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何打败坑神 Null

本文标识 :MQ0011

本文编辑 :长安月下赏美人儿

编程工具 :MySQL

阅读时长 :3分钟

走过坑坑洼洼,终究会封神!

在现实工作中,经常会遇到一个神奇的字眼 “NULL",这是啥?它有啥用?啥时候用?怎么用?着实令人头秃!!!

小编用目前浅薄的知识储备,来分享对 NULL 的理解!

1、NULL 的含义

Null 在数据库中表示“不知道的数据”,主要有3种意思:

(1)知道数据存在,但不知道具体值

(2)不知道数据是否存在

(3)数据不存在

2、NULL 和空值区别

(1)关于空间占用

NULL,占用空间

空值,不占空间

举个例子吧,一个透明的塑料袋,那么

空值:表示塑料袋真空状态,没放东西,平平扁扁易收纳;

NULL:表示塑料袋里有空气,没放东西,但鼓鼓的充满空气,占地方。

(2)关于正确书写

null,用 is 与 is not

例:select name from tbl_name where sexis null;

空值,用 = 与

例:select name from tbl_name where sex=' ';

3、当其他语句遇到NULL

CONCAT 遇到 NULL:

当连接一个没有限定为空值的数列,则结果为 null

例子,select concat(‘a城市',null),显示结果为 null

COUNT 遇到 NULL:

会优先将 null 排除

例子,某数据共有128行数据,其中字段 price 有一个 null 值

则,count(price)=127、count(*)=128

AVG 遇到 NULL:

会优先将 null 排除

例子,一列数字1,2,3,4,null,求均值

则,avg=(1+2+3+4)/4

GROUP BY 遇到 NULL:

会单独列出一组,专门以 null 分组记录数据

例子,price 中含有 3 个数值,2 个数值是 66,一个数值为2,则以 price 为分组依据,则会分为两组,第一组名称为 66 ,第二组名称为 null。

写在后面,还会有很多遇到 null 的情况,如有后续,会继续分享,同时也欢迎小伙伴儿们积极留言讨论,分享遇到 null 的惊喜!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191018A0AWZU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券