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 に答える