oracle 查询结果内容转换

如查询结果为t1.count50,60,7060,70,80...每一个字段都是一个包含三组数的字符串。想让60以下输出为不及格,60以上输出为及格,如:t1.count... 如查询结果为
t1.count
50,60,70
60,70,80
...
每一个字段都是一个包含三组数的字符串。想让60以下输出为不及格,60以上输出为及格,如:
t1.count
不及格,及格,及格
及格,及格,及格
展开
 我来答
badkano
2018-01-12 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885373
团长

向TA提问 私信TA
展开全部

创建测试表:

create table test
(score varchar2(100));


insert into test values ('50,60,70');
insert into test values ('60,70,80');
commit;

执行:

select wm_concat(case
                   when t.score < 60 then
                    '不及格'
                   else
                    '及格'
                 end) score
  from (select a.rowid rd, REGEXP_SUBSTR(a.score, '[^,]+', 1, l) score
          from test a, (SELECT LEVEL l FROM DUAL CONNECT BY LEVEL <= 100) b
         WHERE l <= LENGTH(a.score) - LENGTH(REPLACE(score, ',')) + 1) t
 group by t.rd

结果:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式