在日常使用数据库时,你在意过NULL值么?
其实,NULL值在数据库中是一个很特殊且有趣的存在,下面我们一起来看看吧;
在查询数据库时,如果你想知道一个列(例如:用户注册年限 USER_AGE)是否为 NULL,SQL 查询语句该怎么写呢?
是这样:
SELECT * FROM TABLE WHERE USER_AGE = NULL
还是这样?
SELECT * FROM TABLE WHERE USER_AGE IS NULL
当然,正确的写法应该是第二种(WHERE USER_AGE IS NULL)。
但为什么要这样写呢?在进行数据库数据比较操作时,我们不会使用“IS”关键词,不是吗?
例如,如果我们想要知道一个列的值是否等于 1,WHERE 语句是这样的:
WHERE USER_AGE = 1
那为什么 NULL 值要用 IS 关键字呢?为什么要以这种方式来处理 NULL?
因为,在 SQL 中,NULL 表示“未知”。也就是说,NULL 值表示的是“未知”的值。
NULL = 未知;
在大多数数据库中,NULL 和空字符串是有区别的。
但并不是所有数据库都这样,例如