我正在运行一个导致多个自定义Oracle类型的查询,我想在另一个查询中使用生成的multiset并将其与VARCHAR2字段连接。我想知道是否有办法将multiset转换为以逗号分隔的字符串?
我从查询中得到的是:
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;
答案 0 :(得分: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
)
)