我有一个 SQL 查询,我需要通过检查它们是否不等价来比较一个值与另一个值。这意味着如果 val1 不等于 val2,我的 WHERE 子句将执行验证,即
SELECT
. . .
WHERE val1 != val2
我知道标准 SQL-92 声明
!=
和 <>
都不适用于 NULL
,这意味着上述执行类似 3 != NULL
的逻辑不会像人们预期的那样返回 true
我的问题是,在考虑 NULL 的情况下,如何更改此 WHERE 以检查值的变化?
在这种情况下,val1 或 val2 都可以是
NULL
并且它们可以设置为往返于 NULL
所以我不相信我不能运行比较,例如 IS NULL
或 IS NOT NULL
在一个简单的方式,因为我不确定传入的 val1 或 val2 是否已经是NULL
。
任何帮助将不胜感激,谢谢!