1

我正在运行一个导致自定义 Oracle 类型的多集的查询,我想在另一个查询中使用生成的多集并将其与 VARCHAR2 字段连接。我想知道是否有办法将多重集转换为逗号分隔的字符串?

我从查询中得到的是:

SCHEMA.TYPE_T(SCHEMA.TYPE('D0010422'),SCHEMA.TYPE('D0010599'),SCHEMA.TYPE('D0010600'))

我想要做的是在另一个查询中将其作为字符串包含在内:

D0010422, D0010599, D0010600

我的多集 SQL:

SELECT CAST( MULTISET( query here) AS SCHEMA_type_t ) checks FROM DUAL;
4

1 回答 1

3
create or replace type t_str as table of varchar2(100);

select 
   listagg(column_value, ',') within group (order by column_value) 
from 
   table(
      cast(
         multiset(
            select 'one' from dual
            union all
            select 'two' from dual
         ) as t_str
      )
   )

小提琴

于 2013-03-07T18:22:08.627 回答