并不经常遇到的情况,各位高手帮忙解决下勒

[复制链接]
查看11 | 回复2 | 2015-3-6 11:57:31 | 显示全部楼层 |阅读模式
有一张表student:
两个字段id和name,假设以下的数据:
idname
01Lily
02Lucy
03Kate
现在想根据用逗号拼接的id号查询出name,并且输出的name也是用逗号拼接好的。
即输入的参数是:01,02,03
要求输出是:Lily,Lucy,Kate
高手帮忙。
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
试试~~~
Declare
tmp_char Varchar2(500) := '01,02,03,';
tmp_id Varchar(500) :='';
tmp_name Varchar(500) :='';
tmp_str Varchar(50);
len_end Number(10);
len_begin Number(10) := 0;
Begin
--dbms_output.put_line('tmp_char:' || tmp_char);
While instr(tmp_char,',')>0
Loop

len_end := instr(tmp_char,',') ;
tmp_id := substr(tmp_char,0,len_end-1);
Select name Into tmp_str From student Where Id = ''|| tmp_id;
len_begin := len_end+1;
tmp_char := substr(tmp_char,len_begin);
tmp_name := tmp_name ||','|| tmp_str;
End Loop;
tmp_name := substr(tmp_name,2);
dbms_output.put_line(tmp_name);
End;
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
多谢楼上的,搞定了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行