疑问? Oracle 中 IS NOT NULL 与<>''有区别么?

2020-03-02 00:49:01 +08:00
 cway

情景再现,oracle 数据库表中有某条数据字段值为 null

我将此字段用<>''与 IS NOT NULL 都筛选能查询到该条数据

是不是说明这两种写法都能进行非空判断??

再加上前端时间好像看过一篇文章说 is not null 影响索引,那我直接用<>''代替可以么? 求解

2556 次点击
所在节点    程序员
5 条回复
tinkerer
2020-03-02 01:03:44 +08:00
- 不等于 ''
- 不是 NULL
Yvette
2020-03-02 06:05:26 +08:00
LeeLou
2020-03-02 09:03:17 +08:00
''可以='', 而 NULL 不等于另一个 NULL,

is not null 影响索引,那么<>''也是影响索引的。
passerbytiny
2020-03-02 10:11:24 +08:00
你的抽样数据不足造成的。你造一下数据,列的值依次是 ['a',null,''] ,再用那两个条件查询一下看看,应该有惊喜的。
qqq8724
2020-03-02 15:24:51 +08:00
oracle 中 '' 好像是会自动转成 null

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/648981

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX