目录

  • 长度和判空
  • ifnull
  • 字段定义为not null,查询的时候也可能返回null
  • 建议
  • 参考

空值(null)和空字符(‘’)是两个比较容易混淆的概念。
本文对两者的区别做简单梳理。

长度和判空

长度 判断空
空值null 长度为null,占空间,但具体占用多大空间不确定。 判断null用is null或is not null
空字符串’’ 长度为0,不占用空间。 判断空字符用=‘‘或者!=’’

ifnull

对于空值null,可以使用ifnull()函数进行处理。
例如,

select ifnull(comment, '') from orange where id=100;

如果comment字段为null,就返回空字符串。

字段定义为not null,查询的时候也可能返回null

另外,对于字段定义为not null,查询的时候也可能返回null。
例如,
当记录不存在时,查询结果为空:

> select   cluster_name   from  orange      where hostname='123';
Empty set (0.00 sec)

对于查询结果为空,如果使用max()函数,返回值不再是空,字符值为null。

>select       max(cluster_name)     from  orange     where name='123';
+-------------------+
| max(cluster_name) |
+-------------------+
| NULL              |
+-------------------+
1 row in set (0.00 sec)

建议

  • 尽量不要用null作为默认值。null作为默认值的字段,如果作为索引,会影响效率。
  • 如果确认该字段不会用作索引,也不怕影响效率,可以直接忽略上面一条。

参考

mysql 空值(null)和空字符(‘’)的区别

MySQL中的 空值(null)和空字符(‘‘)相关推荐

  1. MySQL中的空值 Null 和空字符‘‘

    目录 1. 空值 `Null` 和空字符 `''` 2. 空值 `Null` 和空字符 `''` 在查询方式上的对比 2.1. 创建 `SQL` 脚本 2.2. 查询 `username` 列为空字符 ...

  2. mysql中数据表null什么意思_MySQL 中NULL和空值的区别是什么?

    展开全部 空值是不占用空间的,MySQL中的NULL其实是占用空间的. 不过在MySQL数据库中执行62616964757a686964616fe78988e69d8331333363396466SQ ...

  3. MySQL中处理空值时要小心两个个陷阱

    [IT168 专稿]MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是 ...

  4. Mysql中的 not null

    创建医生信息表 doctor_info1 .doctor_info2 ,区别是 doctor_info1 中doctor_name 加上not null 约束 CREATE TABLE `doctor ...

  5. mysql中的钱null,mysql 中null总结

    ====================== 相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 1.我字段类型是not null,为什么我可以插入空值 2.为毛n ...

  6. 从图表中的断线简聊DAX中的空值(null)

    之前有个小伙伴做Report,发现他弄得折线图不是连续的,出现了断线的情况,看起来很是奇怪,在某些应该是0值的位置处折线图就断掉了.尝试调整了Report的各种设置也没有解决.这是怎么回事呢? 既然界 ...

  7. mysql count or null_为什么在对带有条件的行进行计数时,为什么在MySQL中需要“ OR NULL”...

    有关MySQL的COUNT()聚合函数的问题一直不时出现.我想对为什么它按原样工作有一些解释. 当我开始使用MySQL时,我很快了解到,如果条件最后还包含OR NULL,则它的COUNT(condit ...

  8. MySQL中IN对NULL的处理

    先说结论,MySQL中NULL是不参与计算的,对NULL进行计算,只可以使用预设的IS NULL和IS NOT NULL来操作 student表中,有三条数据,id分别是1.2.3 SELECT* F ...

  9. mysql 中is not null 和 !=null的区别

    今天做定时任务,需要用到一个mysql查询 于是我就写: sqlcondition=" and fplsh!=null and iskp='2'" 却发现发挥的list为空 很是诧 ...

最新文章

  1. 买得嗨更要聊得嗨 阿里通免费电话惠战双11
  2. [case39]聊聊jdk httpclient的executor
  3. 多线程面试题系列(12):多线程同步内功心法——PV操作上
  4. Android 实现手写板技术
  5. 安卓案例:初试谷歌图表
  6. scala学习-scala中的元组Tuple概念
  7. 蓝牙耳机声音一顿一顿的_尴尬!vivo无线耳机上线两个月价格大跳水,却仍被批不值...
  8. demo是什么?demo有什么用?
  9. Fatal error in launcher: Unable to create process using ‘“c:\python27\python.exe“ “C:\Python27\Scri
  10. 数组-滑动窗口(直接套模板完事儿)
  11. mac如何查看ssd寿命_固态硬盘ssd写入量剩余读写次数怎么查
  12. tesseract-ocr验证码识别
  13. 是时候搞清楚煎饼大妈的真实收入了!来看看专业的研究流程
  14. 系统测试和验收测试的区别
  15. 【pytorch图像分类】AlexNet网络结构
  16. SecureCrt 连接服务器失败 key exchange failed 解决方案
  17. 回文素数(杭电OJ,不喜欢这个题)
  18. 手撕 44 道 JavaScript 送命题
  19. CDN加速和买胡萝卜的关系
  20. Android 实践:做一款新闻 APP

热门文章

  1. 车用DCDC双路输出电源模块规格书
  2. audio标签 FileReader blob转base64 base64转blob 语音
  3. 模拟微信接口时,提示“请在微信客户端打开链接”
  4. 山东自考c语言程序设计停考了吗,2019山东自考停考专业有哪些
  5. 深度学习:综述:医疗影像数据+CV数据集
  6. hbase协处理器编码实例
  7. python 全栈开发,Day103(微信消息推送,结算中心业务流程)
  8. 这40款优质APP大合集,总有一个适合你! 1
  9. 操作码 OP_CODESEPARATOR
  10. 15分钟效率法与社会焦点效应