在oracle里比如有一张表tab里的一个字段col数据是这样的
1234,fdf
123,abc
我想查询出“,”之前的数据,查询出的结果集就是这样的:
1234
123
想问下SQL语句该怎么写? 

解决方案 »

  1.   

    select substr('abc,124',0,instr('abc,124',',')-1) from dual;
      

  2.   

    select decode(instr(col,',',1,1),col,substr(col,1,instr(col,',',1,1)-1))
    from tab
      

  3.   

    上面有点错误
    应该是
    select decode(instr(col,',',1,1),0,col,substr(col,1,instr(col,',',1,1)-1))
    from tab
      

  4.   


    SQL> select substr('123,456',0,instr('123,456',',')-1) from dual;
     
    SUBSTR('123,456',0,INSTR('123,
    ------------------------------
    123
      

  5.   

    select substr(col ,1,instr(col,',')-1) from tab;