本帖最后由 wanfeather 于 2010-07-01 14:10:34 编辑

解决方案 »

  1.   

    不知道,习惯ORACLE这种用法了,感觉挺好,没有什么不适....
    可能换错MSSQL的话,倒会觉得怪吧,,,,
     ''=null观念已经根深蒂固了,在设计数据库的时候按照这种方法设计的话,不觉得有什么不便....
      

  2.   

    给oracle的底层实现带来便利,它直接用''来表示NULL了。在oracle中,你可以用NVL(address, ' ') <> '北京' 来代替 地址<>'北京' or 地址 is null
      

  3.   

    没用过MYSQL,已经习惯了ORACLE的用法了
      

  4.   

    nvl ,默认值另外,一个字段如果大量空值,这个字段没有什么存在必要了
      

  5.   

    在oracle中null的用法还真的注意,我有次不知道在计算时如果一个值等于NULL则表达式就等于NULL,我更新数据库时,出了大问题许多原有记录数据全部被我改成了0,我郁闷。
      

  6.   

    例如update emp set salary=(salary + bonus)*11
    正确的语句 update emp set salary=(salary + nvl(bonus,0))*11
      

  7.   


    是一个解决之道。这样索引就挂了,呵呵Oracle为什么''=null,的确没啥想到特殊的道理。
      

  8.   

    我遇到一个痛苦的事,发现ORACLE中,A表的 a1 字段是null,B表的 b1 字段也是null,居然不能相等,对比的时候只能nvl(a1,'@') = nvl(b1,'@'),烦死了