程序从MS SQL移植到ORACLE,发现这个问题竟然最难解决,否则只有大量改先前的代码了,而且还不能兼容先前的 系统。

解决方案 »

  1.   

    我印象没有isnull..
    倒是有 is null
    但是也需要大量改代码
      

  2.   

    ORACLE 没有IS NULL..
    LZ还是改代码为好...想了解其它实现方法
      

  3.   

    SQl Server中的isnull 在ORACLE中可以用nvl,decode,case when来代替
      

  4.   

    或者可以直接写个ISNULL function,以后就可以直接调用了
      

  5.   

    在oracle中也写一个isnull的函数,用法和ms sql一样就行了
      

  6.   

    你可以用case么?
    CASE WHEN 列 is null then ‘xxx’ else 列 end
      

  7.   


    常用的类型都能转成varchar2吧
    难道还有文件要判断空?
      

  8.   

    写个函数,参数用 object type 来试试看
      

  9.   


    不行 ,报错!行号= 0 列号= 0 错误文本= PL/SQL: Compilation unit analysis terminated 
    行号= 1 列号= 37 错误文本= PLS-00201: identifier 'OBJECT' must be declared 
      

  10.   

    用Oracle自带的 NULLIF(expression, expression) 函数
      

  11.   

    定义varchar2,应该没有问题吧,就算number类型也可以自动转换的create or replace function isnull(i_obj in varchar2, i_obj2 in varchar2)
    return varchar2
    is
    begin
    return nvl(i_obj, i_obj2);
    end isnull;