oracle 查询结果内容转换
如查询结果为t1.count50,60,7060,70,80...每一个字段都是一个包含三组数的字符串。想让60以下输出为不及格,60以上输出为及格,如:t1.count...
如查询结果为
t1.count
50,60,70
60,70,80
...
每一个字段都是一个包含三组数的字符串。想让60以下输出为不及格,60以上输出为及格,如:
t1.count
不及格,及格,及格
及格,及格,及格 展开
t1.count
50,60,70
60,70,80
...
每一个字段都是一个包含三组数的字符串。想让60以下输出为不及格,60以上输出为及格,如:
t1.count
不及格,及格,及格
及格,及格,及格 展开
1个回答
展开全部
创建测试表:
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
结果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询