diff --git a/ora/string_util_pkg.pkb b/ora/string_util_pkg.pkb index 3304d77..d2f6229 100755 --- a/ora/string_util_pkg.pkb +++ b/ora/string_util_pkg.pkb @@ -1110,6 +1110,41 @@ begin end value_has_changed; +function concat_array (p_array in t_str_array, + p_separator in varchar2 := g_default_separator) return varchar2 +as + l_returnvalue t_max_pl_varchar2; +begin + + /* + + Purpose: concatenate non-null strings with specified separator + + Remarks: + + Who Date Description + ------ ---------- -------------------------------- + MBR 19.11.2015 Created + + */ + + if p_array.count > 0 then + for i in 1 .. p_array.count loop + if p_array(i) is not null then + if l_returnvalue is null then + l_returnvalue := p_array(i); + else + l_returnvalue := l_returnvalue || p_separator || p_array(i); + end if; + end if; + end loop; + end if; + + return l_returnvalue; + +end concat_array; + + end string_util_pkg; / diff --git a/ora/string_util_pkg.pks b/ora/string_util_pkg.pks index f901797..ab03d2d 100755 --- a/ora/string_util_pkg.pks +++ b/ora/string_util_pkg.pks @@ -164,7 +164,6 @@ as p_list in varchar2, p_separator in varchar2 := g_default_separator) return boolean; - -- randomize array function randomize_array (p_array in t_str_array) return t_str_array; @@ -172,6 +171,9 @@ as function value_has_changed (p_old in varchar2, p_new in varchar2) return boolean; + -- concatenate non-null strings with specified separator + function concat_array (p_array in t_str_array, + p_separator in varchar2 := g_default_separator) return varchar2; end string_util_pkg; /