现有一张表,字段如下
urid,stringvalue,numbervalue,boolvalue表里有如下数据:
1, null, 10, null;
2,'test',null,null;
3, null,null,1;现在要通过一个语句得到如下结果1,10
2,test
3,1请各位大侠帮忙

解决方案 »

  1.   

    select urid||case when stringvalue is null then '' else ','||stringvalue end
               ||case when endnumbervalue is null then '' else ','||endnumbervalue end
               ||case when boolvalue  is null then '' else ','||boolvalue
    from table
      

  2.   

    select nvl(urid,' '),nvl(stringvalue,' '),nvl(numbervalue,' '),nvl(boolvalue,' ')
    from table
      

  3.   

    发上来的东西怎么变了?
    select   urid ||case   when   stringvalue   is   null   then   ''   else   ',' ||stringvalue   end
                          ||case   when   endnumbervalue   is   null   then   ''   else   ',' ||numbervalue   end
                          ||case   when   boolvalue     is   null   then   ''   else   ',' ||boolvalue
    from   table
      

  4.   

    谢谢HelloWorld_001.
    我没有说明清楚,我的意思是这样的:取出来的数据有两列:

    urid,paramvalue数据如下
    1,10 
    2,test 
    3,1 paramvalue这一列的值是从stringvalue,numbervalue,boolvalue三列中其中有值的那一列取出来的
      

  5.   


    select urid,nvl(stringvalue,nvl(numbervalue,boolvalue 
    ))  from table
      

  6.   

    SQL> select * from ta;         A B          C          D
    ---------- ---------- ---------- ----------
             1            10
             2 test
             3                       1已选择3行。SQL> select a,b||c||d from ta;         A B||C||D
    ---------- ------------------------------
             1 10
             2 test
             3 1已选择3行。
      

  7.   


    select urid,
           decode(nvl(stringvalue, ''),
                  '',
                  decode(nvl(to_char(numbervalue), ''),
                         '',
                         to_char(boolvalue),
                         to_char(numbervalue)),
                  stringvalue)
      from (select 1 urid, null stringvalue, 10 numbervalue, null boolvalue
              from dual
            union
            select 2, 'test', null, null
              from dual
            union
            select 3, null, null, 1 from dual)
      

  8.   

    7楼的遭遇和我的一样
    ¦ &brvbarcase   换成   2个|