如何在Oracle数据库中查询部门的每个部门下的科目
例如:'--中心'-'--部门'-'--项目'
可n以根据相应的字段值,取出需要的数据
代码如下:
select
ooefl004,
(case when instr(ooefl004,'-',1,1)>0 then substr(ooefl004,1,instr(ooefl004,'-',1,1)-1)else ooefl004 end ) as 中心,
(case when length(ooefl004)-length(replace(ooefl004,'-',''))>1 then substr(ooefl004,instr(ooefl004,'-',1,1)+1,instr(ooefl004,'-',1,2)-1-instr(ooefl004,'-',1,1)) else substr(ooefl004,instr(ooefl004,'-')+1,length(ooefl004)-instr(ooefl004,'-')) end) as 部门
from dsdata.ooefl_t
where ooefl004 like '%中心-%部%'
and instr(ooefl004,'-')>=2
结果如下:
具体的截取方式类似,只是对象有差异,例如:时间以及日期也可以使用类似的方法