首先对null进行定义:NULL表示的是“a missing unknown value”,而字符串''是一个确定的值。三种数据库对null值的定义都是一样的。
对null值可以按如下8条进行细致理解:
1、等价于没有任何值、是未知数。
2、NULL与0、空字符串、空格都不同,NULL没有分配存储空间。
3、对空值做加、减、乘、除等运算操作,结果仍为空。
4、NULL的处理使用NVL函数。
5、比较时使用关键字用“is null”和“is not null”。
6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*)中,用nvl(列名,0)处理后再查。
7、排序时比其他数据都大(索引默认是降序排列,小→大),所以NULL值总是排在最后。
8、空字符串:已经分配了存储空间,但是没有存储东西;NULL:没有分配存储空间。
oracle中关于null值处理的函数:
nvl(expr1,expr2);NVL2(expr1,expr2,expr3);decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default);
sqlserver的null值处理函数:
COALESCE(null,0);
ISNULL(null,0);
mysql的null值处理函数:
IFNULL(expr1,expr2);ISNULL(expr);NULLIF(expr1,expr2)。
如需学习更多数据库知识,请扫码关注作者知识星球。365天,天天不间断。
好好学习,365天天向上。
文章转载自数据库精要,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
3072次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
864次阅读
2025-04-25 15:30:58
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
741次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
644次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
565次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
514次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
510次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
495次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
477次阅读
2025-04-30 12:17:56
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
445次阅读
2025-04-15 23:49:58