逗号分隔字段取前三项 oracle有个tab表的fld字段,是以半角逗号分隔的varchar2型,写个sql取前三个,比如:'s,z,t'得到's,z,t''szt'得到'szt''s,zt'得到's,zt''song,z,t,u'得到'song,z,t' 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select SUBSTR(fld,1,DECODE( INSTR(fld,',',1,3),0 ,LENGTH(fld),INSTR(fld,',',1,3)-1) from tab 漏了个反括号:select SUBSTR(fld,1,DECODE( INSTR(fld,',',1,3),0 ,LENGTH(fld),INSTR(fld,',',1,3)-1) )from tab select nvl(substr(fld,1,instr(fld,',',1,3)-1),fld) from tab; select nvl(substr(fld,1,instr(fld,',',1,3)-1),fld) from tab; select nvl(substr(fld,1,instr(fld,',',1,3)-1),fld) from tab;当逗号个数少于3个的情况有问题吧select SUBSTR(fld,1,DECODE( INSTR(fld,',',1,3),0 ,LENGTH(fld),INSTR(fld,',',1,3)-1) )from tab似乎少了点,改造一下就可以,谢谢大家捧场 Oracle R11i alert報表設定問題 在oracle企业管理台上无法输入日期? oracle 如何开 三次方根 请教整理一个sql,用来作报表处理 同样的sql,第一次查询快,第二次查询非常慢 我是个初学者,请问各位高手,资料档案库是干什么用的,什么时候用得着呀 请教,从哪个表里可以得到procedure和function的定义? 请教如何统计数据库中60天内没有登入过的用户? 如何知道Oracle正在做什么工作? 求一个SQL语句 有人用过Oracle 10g集群服务RAC吗 Oracle 9i中触发器使用merge into语句触发时出错,请教如何更改。
SUBSTR(fld,1,DECODE( INSTR(fld,',',1,3),0 ,LENGTH(fld),INSTR(fld,',',1,3)-1)
from
tab
SUBSTR(fld,1,DECODE( INSTR(fld,',',1,3),0 ,LENGTH(fld),INSTR(fld,',',1,3)-1) )
from
tab
当逗号个数少于3个的情况有问题吧
select
SUBSTR(fld,1,DECODE( INSTR(fld,',',1,3),0 ,LENGTH(fld),INSTR(fld,',',1,3)-1) )
from
tab
似乎少了点,改造一下就可以,谢谢大家捧场