mysql中null与(null)的区别

上周我检查了MySQL。

NULL 和 (NULL) 确实不同。

NULL:没有值。
不占用空间。

(NULL):这是一个空字符串。
占用一个字节。

比较: NULL:无法与此进行比较。
所有比较都返回 NULL。

(NULL):可以与字符串进行比较。
只是一个空字符串。
结果始终为 NULL 或不同。

插入: NULL:随意插入即可。
默认的也很好。

(NULL):您必须手动插入空字符串。

聚合函数: NULL:SUM、AVG 和 COUNT 不计数。

(NULL):计数。
就像一个空字符串。
提示: NULL:无法建立索引。
没有空间,也没有办法比较。

(NULL):可以建立索引。
但效率较低。
所有比较都是无效的。

示例: 检查是否为 NULL: SELECT FROM table_name WHERE column_name IS NULL;
检查(NULL): SELECT FROM 表名 WHERE 列名 = (NULL); 这项调查没有结果。
因为NULL无法比较。

我不确定这部分。
没关系。

数据库null=null 数据库nullable

这是一个危险,不要相信 null=null,使用 ISNULL 或 COALESCE。