Oracle 中判NULL用
NVL(v_LastRslt,想要变化的值)
DCECODE(v_LastRslt,条件1,变化1,条件2,变化2,……,变化(对应ELSE))

解决方案 »

  1.   

    nullif是什么功能
    感觉好像是相当于oracle的nvl()
      

  2.   

    我问的可能有点问题,我在网上搜到说oracle中decode相当于Sybase(or SQL Server)中的nullif,所以才这样问的。如果decode和nullif不同的话,那应该对应什么?谢谢
      

  3.   

    返回第一个非空表达式  DECODE(oracle)  COALESCE(sql server)
      

  4.   

    sybase的不知道
    decode应该相当于sql server的case when 语句
      

  5.   

    如果对应case when,decode中应有五个变量,比如:
    WHERE DECODE (deptno,10,'HR', 20,'Sales') = 'Sales'
    相当于
    WHERE (CASE deptno WHEN 10 THEN 'HR' WHEN 20 THEN 'Sales' END) = 'Sales'
    可我的语句是这样的:
    decode(v_LastRslt,-1,-1,u.intRsltID)
    不知怎样改?
      

  6.   

    不可能吧!decode()是oracle特有的,别的都没有实现这样的功能,我估计你所说的sybase中的nullif应该等同于oracle中nvl()
      

  7.   

    decode(v_LastRslt,-1,-1,u.intRsltID)
    相當于:
    case v_LastRslt when -1 then -1 else u.intRsltID