解决方案 »
- 谁那里有《Oracle Database 10g完全参考手册》中文版的电子书啊?发给我好吗
- oracle 11g装好后,请问能不能自己创建数据库
- oracle 树形表数据转换
- 求助:利用JOB执行存储过程
- 数据库存储图片
- 调用CreateParameter后抛出的IDispatch Erro #3088错误
- 客户端连接不上服务器上的全局数据库(虚拟机上)
- oracle 对整个库表进行优化的命令是哪个?
- 如何将TXT文本中的数据导入ORACLE中的一张表中?
- 如何在PowerDesigner中翻转生成PDM图时把Name属性变成Oracle注释
- 高手推荐几本数据库方面的书籍
- 11g 触发器 和 cpu占用 问题
那就:
select 编号,length(从事项目)/3 as 项目数量
from 种类表
不过看你数据,分割符好象没规律.如果能保证每个后面都有逗号的话.select 编号,count(*) 项目数量
from (select 编号,substr(从事项目,rownum,1) sa
from 人员信息表
connnect by rownum <length(从事项目))
where sa = ','
查出来有多少个“,”就有多少项目。
编号 从事项目
001 08,01,06,
002 02,03,04,
003 05,08,
004 08,07
005 03,04,01
006 02,06,01,05
007 01,02,
008 02, 假设这张表名为 test 编号为 id, 从事项目字段为 valueselect id, length(value) - length(replace(value, ',', '')) as icount from test;
SQL> select * from test;ID VALUE
---------- --------------------
001 08,01,06,
002 02,03,04,
003 05,08,
004 08,07,
005 03,04,01,
006 02,06,01,05,
007 01,02,
008 02,8 rows selectedSQL> select id, length(value) - length(replace(value, ',', '')) as icount from test;ID ICOUNT
---------- ----------
001 3
002 3
003 2
004 2
005 3
006 4
007 2
008 18 rows selectedSQL>
select 编号,length(translate(从事项目,',0123456789',',')) 数量 from test_d
刚开始看题,被领导叫去干活。看来楼主已经解决问题了,把我的代码贴上