这个系统中的传过来的空字符串即不等于oracle里面的空字符串也不等于null

解决方案 »

  1.   

    select * from tbname where col is not null;
    or
    select col from tbname where length(col)>0;
      

  2.   

    郁闷的是这个空字符串的length=1
      

  3.   

    不是空格,它在应用系统中是空值而且lenth是0,谁碰到过一个空值传到oracle里面就不是空值了?
    假设传过来的参数是v_tmp,我在oracle中给输出参数赋值为"字符串1||v_tmp||字符串2",
    在应用系统中获得这个输出值是"字符串1",v_tmp使它后面的数据都不存在了
    这个参数是直接从应用系统中传过来的,没有做任何转换
      

  4.   

    在传送过程中,将原始数据标记一下不就得了
    比如在从数据源取数据的时候直接将Null暂时替换成(@_@)
    保存完了替换回去不就行了,或者保存的同时替换就好了
    具体情况你也没说清楚
      

  5.   

    "字符串1||v_tmp||字符串2"  
    如果v_tmp为空,是有问题的
    要先对v_tmp做非空判断
    否则无法拼字串