在 Oracle 中,使用 NOT IN 子句时,如果列表中包含 NULL 值,则该条件将不会匹配任何行,即过滤掉了空的数据。

这是因为在 SQL 中,NULL 值表示一个缺失的、未知的或不适用的值,它与任何其他值(包括另一个 NULL 值)进行比较的结果都是未知的。因此,如果使用 NOT IN 子句并且列表中包含 NULL 值,Oracle 无法确定 NULL 值是否在要比较的列中,因此不会包括 NULL 值。

要包括空的数据,可以使用其他方法,例如使用 IS NULL 条件或使用 OR 运算符来包含空值。

oracle not in ’0‘’1‘为什么把空的数据也过滤掉了

原文地址: https://www.cveoy.top/t/topic/iW0v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录