if b.amount1= null then return 5000
else return b.amount1

解决方案 »

  1.   

    decode可以选择性率选。
    参数可以很多
    第一个参数是元,以后每2个一对。有如 c++/c中的 条件语句 ?:
    decode(x,1,2,3,4,5,6....)
    x=1? return 2 
    x=3? return 4
    x=5? return 6;...
      

  2.   

    decode是oracle的解释翻译函数,经常嵌套使用在多分支结构的条件判断中。
      

  3.   

    看一个字段的值, 如果该字段中有空的,就显示50000,如果有数据的就显示数据, 这个函数在oracle中使用很广的.
      

  4.   

    decode函数的功能很强大,最重要的是它可以实现由行到列的转换,建议楼主好好看一看资料,它实际就是一个if语句
      

  5.   

    14:12:40 SQL> select decode(sign(3-1),1,'3>1','3<=1') from dual;DEC
    ---
    3>1已用时间:  00: 00: 00.16
    14:13:46 SQL>
      

  6.   

    if b.amount1= null then return 5000
    else return b.amount1
      

  7.   

    DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
    该函数含义如下:
    IF 条件=值1 THEN
       RETURN (翻译值1)
    ELSIF 条件=值2 THEN
       RETURN (翻译值2)
       ......
    ELSIF 条件=值n THEN
       RETURN (翻译值n)
    ELSE
       RETURN (缺省值)
    END IF
      

  8.   

    如果b.amount1的值为空,即为50000, 否则的话,返回值为b.amount1
      

  9.   

    decode相当于一个if..then..else语句
    后面一般有偶数个参数
    decode(a,b1,c1,b2,c2,d)
    表示如果a = b1,则返回c1,如果a = b2则返回c2,   b1,b2都不满足就返回d