就是有这么一条语句是 select sum(decode(ztbz,'9',-1,1)) from XXXX where XXXXXXXXXXX 其中ZTBZ是状态标志的意思,oracle数据库,刚入门 select sum(decode(ztbz,'9',-1,1))  这一段看不大懂,有人能帮我解释一下什么意思吗

解决方案 »

  1.   

    decode是替换函数  意思是 字段ztbz的值如果是9就等于-1 如果不是就等于1  然后把这个字段替换过后的取和
      

  2.   

    DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
    基本上是楼上说的那样,但应该是求满足条件ZTBZ =9否的匹配吧,不知道表述对不!
      

  3.   

    自己试下就知道了。
    select decode('a','a',-1,1) from dual
      

  4.   

    谢谢大家,明白了,原来是统计的意思,因为我们ZTBZ=9 表示退费的意思,这语句应该就是如果为9 就赋值-1 人数上-1,来达到统计人数作用