欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

array to csv

程序员文章站 2022-06-01 18:13:17
...

将字符数组,转化成CSV的格式 PL/SQL CSV type t_str_array as table of varchar2(4000);function array_to_csv (p_values in t_str_array, p_separator in varchar2 := g_default_separator) return varchar2as l_value varchar2(32000); l_returnvalue varc

将字符数组,转化成CSV的格式 PL/SQL CSV
type t_str_array as table of varchar2(4000);
function array_to_csv (p_values in t_str_array,
                       p_separator in varchar2 := g_default_separator) return varchar2
as
  l_value       varchar2(32000);
  l_returnvalue varchar2(32000);
begin

  /*

  Purpose:      convert array of values to CSV

  Remarks:

  Who     Date        Description
  ------  ----------  --------------------------------
  MBR     31.03.2010  Created
  fartpig 07.03.2011  noted
  */
  --遍历值 数组
  for i in p_values.first .. p_values.last loop    
    l_value := p_values(i);
    --如果其中包含了 分割符号,
    if instr(l_value, p_separator) > 0 then
      --使用 双引号 将其包括起来
      l_value := '"' || l_value || '"';
    end if;
    --如果 是第一次 赋值
    if l_returnvalue is null then
      --直接 赋值
      l_returnvalue := l_value;
    else
      --使用 分隔符, 进行相应的 值的分割
      l_returnvalue := l_returnvalue || p_separator || l_value;
    end if;
  end loop;

  return l_returnvalue;

end array_to_csv;