确定 Oracle null == null

2021-12-06 00:00:00 sql null oracle nullable

我希望在可空列上搜索数据库表.有时,我要搜索的值本身就是 NULL.由于 Null 等于没有,即使是 NULL,说

I wish to search a database table on a nullable column. Sometimes the value I'm search for is itself NULL. Since Null is equal to nothing, even NULL, saying

where MYCOLUMN=SEARCHVALUE 

会失败.现在我不得不求助于

will fail. Right now I have to resort to

where ((MYCOLUMN=SEARCHVALUE) OR (MYCOLUMN is NULL and SEARCHVALUE is NULL))

有没有更简单的说法?

(如果重要的话,我正在使用 Oracle)

(I'm using Oracle if that matters)

推荐答案

你可以做 IsNull 或 NVL 的事情,但这只会让引擎做更多的工作.您将调用函数进行列转换,然后必须比较结果.

You can do the IsNull or NVL stuff, but it's just going to make the engine do more work. You'll be calling functions to do column conversions which then have to have the results compared.

用你所拥有的

where ((MYCOLUMN=SEARCHVALUE) OR (MYCOLUMN is NULL and SEARCHVALUE is NULL))

相关文章