日期:2014-05-17  浏览次数:20757 次

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

------解决方案--------------------
select substr('abc,124',0,instr('abc,124',',')-1) from dual;

------解决方案--------------------
上面有点错误
应该是
SQL code


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

------解决方案--------------------
SQL code

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

------解决方案--------------------
探讨
上面有点错误
应该是

SQL code

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

------解决方案--------------------
SQL code
select substr(col ,1,instr(col,',')-1) from tab;