果然厉害:谢谢!!!我还有两个同样的问题:
SUM(CASE WHEN (CODE >= '0800' AND CODE <= '0895') THEN 1 ELSE 0 END)
SUM(CASE WHEN (CODE IN ('81','84','91','A1','A2','A3','AA')) THEN 1 ELSE 0 END)
怎么实现了???

解决方案 »

  1.   

    1、decode(sign(to_number(code)-800)+sign(895-to_number(code)),2,1,0)
      

  2.   

    2、decode(code,'81',1,'84',1,'91',1,'A1',1,'A2',1,'A3',1,'AA',1,0)
    想不出什么好的方法,这样可以实现的
      

  3.   

    SUM(decode(sign(CODE-800)*sign(0895-CODE),1,1,0))
    SUM(decode(CODE,'81',1,'84',1,'91',1,'A1',1,'A2',1,'A3',1,'AA',1,0))
      

  4.   

    谢谢!!各位!!困饶了我几天的SQL在这里花了不到一个小时,本人一直从事SYBASE,现在从事ORCLE ,有很多不会的地方,望各位指点,在这里非常感谢
    bzszp(www.bzszp.533.net) ( ) 
     zlqs(啊啊啊) ( )
     qiansl(小龙) ( ) 
    谢谢!!!!
      

  5.   

    select sum(decode(instr(code,'a'),0,0,1)) from tabname