select case when col1='1' or col1='0' then col2 else 0 end,
       case when col3='1' or col3='0' then col4 else 0 end from table1;

解决方案 »

  1.   

    Sorry,
    select case when col1='1' or col1='0' then sum(col2) else 0 end,
           case when col3='1' or col3='0' then sum(col4) else 0 end from table1;
      

  2.   

    谢谢BlueskyWide(谈趣者),一会就给分。
    顺便问一下:length()是标准sql吗?如果不是,对应的标准sql是什么?
      

  3.   

    sqlplus中试一下:
    select length('程序员') from dual;
    length()是sqlplus中的系统函数。
      

  4.   

    DECODE本来就是可以在SQL语句中直接使用,干吗要转换呢?
      

  5.   

    不知道哪个试标准的
    oracle:length()
    sqlserver:len()