select * from emp where mrg=null 和 mrg is null 有什么区别 

解决方案 »

  1.   

    mrg=null 在mgr为任何值情况下都为false
    mrg is null 在mrg字段为空时为true
    Oracle中null的使用详解
      

  2.   

    任何值和null的比较都应该写成这样:a is null 或 a is not null
    null 等价于是:未知数,没有任何值,表示该值不定。
      

  3.   

    =null结果永远为不存在,is null 表示该字段为空的!
      

  4.   

    举例说明:
    SQL> select id,name from test;        ID NAME
    ---------- ---------------
             5 null
             4
             3 李四
             2 张三
             1 张三
             6 张三
    SQL> select id,name from test where name is null;        ID NAME
    ---------- ---------------
             4SQL> select id,name from test where name =null;未选定行SQL>  select id,name from test where name ='null';        ID NAME
    ---------- ---------------
             5 null
      

  5.   

    恩,这个确实学习到了。原来‘=’和is还有这个区别。对了,我顺带问下,这个时候= null,是不是把null这一个不定值给赋予了对方,结果和任何值比较都是非的结果?而is null就表示是空,无内容的意思?
      

  6.   

    mrg=null --这个是说mrg的值为null
    mrg is null 是mrg为空不过看楼主的意思 , mrg is null 正确的写法