【恩墨学院】空与非空EMPTY_LOB和零的区别

  

  空与非空EMPTY_LOB和零的区别   

  

  编辑手记:   

  

  EMPTY_LOB与零在字面意思上看起来差不多,但实际上,它们却有天壤之别。   

  

  
  

  

  前不久写过一篇文章,描述如果表包含了触发器,在通过小鬼导入数据的时候,原本的EMPTY_LOB将被转化为NULL。有朋友在文章的回复中问,EMPTY_LOB和零的区别,这里就简单描述一下。   

  

  
  

  

  包含触发器的LOB表执行IMP导致EMPTY_LOB变为空:   

  

  http://yangtingkun.itpub.net/post/468/495024   

  

  
  

  

  说实话,二者其实差别还是相当大的。   

  

  一个表示的未知,另一个表示的空的大对象。需要注意空的大对象并不是空的概念:   

  

  
  

  

  ,,【恩墨学院】空与非空EMPTY_LOB和零的区别”>
  </p>
  <p>
  <br/>
  </p>
  <p>
  使用是NULL作为条件进行判断,EMPTY_LOB是查询不到的。
  </p>
  <p>
  利用DBMS_LOB.GETLENGTH也可以看出二者的区别:
  </p>
  <p>
  <br/>
  </p>
  <p>
  <img src=【恩墨学院】空与非空EMPTY_LOB和零的区别