空串和NULL是有区别的吧,空串是个空字符串,NULL是UNKNOWN的值,这两个怎么会一样呢?是因为没法区分?

解决方案 »

  1.   

    在sql server和sybase中''与NULL是两个东西,但在oracle中就是这么设计的,''就是NULL。区分这两者很有必要吗?
      

  2.   

    oracle 中大部分地方''和null是一样的,不过要注意类似下面的情况null和''是不一样的:SQL> select '01',1 from dual 
      2  union all
      3  select '01','' from dual;select '01',1 from dual
    union all
    select '01','' from dualORA-01790: 表达式必须具有与对应表达式相同的数据类型SQL> select '01',1 from dual
      2  union all
      3  select '01',null from dual;'01'          1
    ---- ----------
    01            1
    01   
      

  3.   

    受教了。总结:
    '' 即是空串,是个字符串,其值为NULL。
    这样对的吧
      

  4.   

    Oracle中空串就是NULL,判断空串用 IS NULL