我希望在可空列上搜索数据库表.有时我搜索的值本身就是NULL.因为Null等于什么,甚至是NULL,说
where MYCOLUMN=SEARCHVALUE
Run Code Online (Sandbox Code Playgroud)
将失败.现在我不得不诉诸
where ((MYCOLUMN=SEARCHVALUE) OR (MYCOLUMN is NULL and SEARCHVALUE is NULL))
Run Code Online (Sandbox Code Playgroud)
有更简单的说法吗?
(如果重要,我正在使用Oracle)
根据这个问题,在Oracle中执行相等性检查的方法,我想将null视为等于null就像是
SELECT COUNT(1)
FROM TableA
WHERE
wrap_up_cd = val
AND ((brn_brand_id = filter) OR (brn_brand_id IS NULL AND filter IS NULL))
Run Code Online (Sandbox Code Playgroud)
这实际上可以使我的代码变脏,特别是如果我有很多这样的地方,并且where应用于多个列.有更好的选择吗?