日期:2014-05-17  浏览次数:20854 次

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

------解决方案--------------------
decode是替换函数 意思是 字段ztbz的值如果是9就等于-1 如果不是就等于1 然后把这个字段替换过后的取和
------解决方案--------------------
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
基本上是楼上说的那样,但应该是求满足条件ZTBZ =9否的匹配吧,不知道表述对不!
------解决方案--------------------
如果是9 赋值-1 如果不是9 赋值1 然后分组取和 然后和为正数是什么状态 负数什么状态吧