select decode(upper(yspz_jzfx),'J',yspz_je,0) from zkyspz;

解决方案 »

  1.   

    9i开始支持case when的吧,不记得了
    用楼上的decode可以解决
      

  2.   

    本人在中石化资金项目中有个姓刘的同事遇到过此问题,解决如下:
    1、select decode(列名或变量,'01',1,0) from t_b;2、select decode(列名或变量,'01', '30000',
                                '02', '90000',
                                '03', '80000' ) from t_b;给分ba !!
      

  3.   

    case when是T sql的语法,pl sql 是没有这个语法的
      

  4.   

    case when在oracle里可以的,请楼上看看最新的文档
      

  5.   

    8i不行,9i可以
    9i增加的东西还是挺多的
      

  6.   

    那如果是比较大小的怎么办,如case when YSPZ_PZRQ > '11111111' then 1 else 0 end
      

  7.   

    楼主注意:
        case是9i以后的版本才支持的/
        8 版本就要用decode 等其他函数来实现了,
      

  8.   

    select decode(sign(yspz_pzrq-11111111),1,1,0) from tbname;