oracle一行拆多行函数,Oracle 实现多行转换成一行 使用oracle 10g collect函数
在Oracle 10g中,新增加了一個聚合函數
collect:Takes a column of any type and creates a nested table of the input type out of the rows selected
1、創建數組類型
create or replace type varchar2_app as table of varchar2(2000);
2、創建format_string格式化輸出函數
create or replace function format_string(v_table in varchar2_app) return varchar2 is
Results varchar2(30000);
begin
for i in 1 .. v_table.count loop
Results :=Results||','||v_table(i);
end loop;
--去掉第一個逗號--
return(substr(Results,2));
end format_string;3、開始使用
select object_type,
format_string(CAST(COLLECT(object_name) AS varchar2_app)) AS object_name
from user_objects
group by object_type;
注意:
COLLECT函數后要用類型varchar2_app數組類型
總結
以上是生活随笔為你收集整理的oracle一行拆多行函数,Oracle 实现多行转换成一行 使用oracle 10g collect函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: aix6.1 oracle12c,AIX
- 下一篇: 蟑螂喜欢吃什么?