Thread: Passing a comma delimited list to a function
Hi,
I was wondering if there was a function that handles list elements of a comma delimited list? I need to be able to pass values as a comma delimited list, count the number of values, and process the value of each.
Did not think it was very efficient to loop through the contents of the list finding delimiters.
TIA
Alex
A E wrote: > I was wondering if there was a function that handles list elements of > a comma delimited list? I need to be able to pass values as a comma > delimited list, count the number of values, and process the value of > each. You didn't mention a version, but in 7.4 you can do this: create or replace function unravel(text) returns setof int as ' declare v_list alias for $1; v_delim text := '',''; v_arr text[]; begin v_arr := string_to_array(v_list, v_delim); for i in array_lower(v_arr, 1)..array_upper(v_arr, 1) loop return next v_arr[i]::int; end loop; return; end; ' language plpgsql; regression=# select * from unravel('1,2,3,4,5'); unravel --------- 1 2 3 4 5 (5 rows) HTH, Joe
Take a look at: http://www.postgres.org/docs/current/static/functions-string.html The split_part() function should do the trick. == Ezra Epstein "A E" <cooljoint@yahoo.com> wrote in message news:20040103181155.67492.qmail@web12103.mail.yahoo.com... Hi, I was wondering if there was a function that handles list elements of a comma delimited list? I need to be able to pass values as a comma delimited list, count the number of values, and process the value of each. Did not think it was very efficient to loop through the contents of the list finding delimiters. TIA Alex