我读过很多关于Oracle如何处理null或空字符串的文章。
假设我有一张表,上面有这些数据:
id | myfield |
---|---|
id1 | mydata1 |
id2 | mydata2 |
Oracle在处理null方面很奇怪。它是在70年代设计、开发和测试的,早在SQL标准正式建立之前。甲骨文是一个伟大的引擎,但它也有一些怪癖;这是其中之一。
表达式:
where myfield <> ''
被Oracle引擎自动改写为:
where myfield <> null
而且,由于没有任何值可以满足此谓词,因此不会返回任何行。
参见db<gt;不停摆弄