SQL中NULL值的比较

2025-01-05 03:21:02
推荐回答(1个)
回答1:

首先,我们往测试表a中,插入几条测试数据:

得到如下结果:

其次,我们查询表a中id列不为1的数据:

结果 却只有1条符合条件 的数据:

我们预期的结果是有两条,分别是 NULL 和空字符 '' 。
可测试结果却少了NULL这条。这表明 SQL对NULL的处理存在特殊的逻辑。

我们重新写SQL:

这回,结果符合我们的预期:

对NULL进行判断处理时,只能采用IS NULL或IS NOT NULL,而不能采用=, <, <>, !=这些操作符!