跳至主要內容

Mysql中的Null值

DHB小于 1 分钟MysqlMysql

Mysql中的Null值

在大对数编程语言中,逻辑表达式的值只有两种:True,False。但是在关系型数据库中的逻辑表达式并非两种,而是三值逻辑的表达式(True、False、Unknown)。

select null = 1;

执行结果:

+----------+
| null = 1 |
+----------+
|     NULL |
+----------+
1 row in set (0.01 sec)
select null = null;

执行结果:

+-------------+
| null = null |
+-------------+
|        NULL |
+-------------+
1 row in set (0.00 sec)

出乎意料的是null = 1返回的是null,而null = null返回的也是null,而不是1。对于返回值是null的情况,应该将它视为unknown的情况,即表示未知。在不同的语句下unknown表示不同的值

ON

unknown被视为False

GROUP BY

group by会把null值分到一组

ORDER BY

order by会把null值排列在一起

上次编辑于:
贡献者: dhb,donghaibin