V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cway
V2EX  ›  程序员

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

  •  
  •   cway · 2020-03-02 00:49:01 +08:00 · 2542 次点击
    这是一个创建于 1739 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    5 条回复    2020-03-02 15:24:51 +08:00
    tinkerer
        1
    tinkerer  
       2020-03-02 01:03:44 +08:00
    - 不等于 ''
    - 不是 NULL
    LeeLou
        3
    LeeLou  
       2020-03-02 09:03:17 +08:00
    ''可以='', 而 NULL 不等于另一个 NULL,

    is not null 影响索引,那么<>''也是影响索引的。
    passerbytiny
        4
    passerbytiny  
       2020-03-02 10:11:24 +08:00
    你的抽样数据不足造成的。你造一下数据,列的值依次是 ['a',null,''] ,再用那两个条件查询一下看看,应该有惊喜的。
    qqq8724
        5
    qqq8724  
       2020-03-02 15:24:51 +08:00
    oracle 中 '' 好像是会自动转成 null
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5718 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:39 · PVG 09:39 · LAX 17:39 · JFK 20:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.