From: | Joe Conway <mail(at)joeconway(dot)com> |
---|---|
To: | A E <cooljoint(at)yahoo(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Passing a comma delimited list to a function |
Date: | 2004-01-03 23:10:11 |
Message-ID: | 3FF74BD3.1030302@joeconway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Rory Campbell-Lange | 2004-01-03 23:18:39 | Re: Is my MySQL Gaining ? |
Previous Message | Mike Mascari | 2004-01-03 23:07:48 | Re: why the need for is null? |