sign(decode(GradeMode,'分值',(StandardPoint - amount*minuspoint),
            '百分比',(StandardPoint * (1-amount*minuspoint/100)) ),1,
decode(GradeMode,'分值',(StandardPoint - amount*minuspoint),
            '百分比',(StandardPoint * (1-amount*minuspoint/100)) ) ,0)

解决方案 »

  1.   

    case when GradeMode>0 then GradeMode else 0 end
      

  2.   

    select AstItemStrID,AstItemName,
         decode(sign(decode(GradeMode,'分值',(StandardPoint - amount*minuspoint),
                '百分比',(StandardPoint * (1-amount*minuspoint/100)) )),-1,0,decode(GradeMode,'分值',(StandardPoint - amount*minuspoint),
                '百分比',(StandardPoint * (1-amount*minuspoint/100)) ))
             as GainPoint
        from ......
      

  3.   

    两位说的方法可行吗?好像都不行啊。我是要在那个select语句中直接返回的。