[SQL] Split a string to rows?
Hello, Is there a function to split a string to different rows? For example, t1(id, col1) values(1, 'a, b, c'); select id, string_split_to_row(col1, ','); Return: = 1, a 1, b 1, c Thanks alot! Emi -- Sent via pgsql-sql mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql
Re: [SQL] Split a string to rows?
On 01/07/2013 11:44 AM, Emi Lu wrote: Is there a function to split a string to different rows?... Have you looked at regexp_split_to_table? Cheers, Steve -- Sent via pgsql-sql mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql
Re: [SQL] Split a string to rows?
On Jan 7, 2013, at 2:44 PM, Emi Lu wrote:
> Hello,
>
> Is there a function to split a string to different rows?
>
> For example, t1(id, col1)
> values(1, 'a, b, c');
>
> select id, string_split_to_row(col1, ',');
>
> Return:
> =
> 1, a
> 1, b
> 1, c
You can probably use some combination of "string_to_array" and "unnest"
e.g.
SELECT unnest(string_to_array('a,b,c', ','));
unnest
a
b
c
(3 rows)
If you need a more complex string splitting mechanism, there is the
"regexp_split_to_array" function.
Jonathan
--
Sent via pgsql-sql mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql
Re: [SQL] Split a string to rows?
Thanks a lot! I just noticed that my postgresql is 8.3(unnest function
is not there by default). Is there a way that I could download and load
only this function from somewhere?
Thanks again!
Emi
On 01/07/2013 02:58 PM, Jonathan S. Katz wrote:
On Jan 7, 2013, at 2:44 PM, Emi Lu wrote:
Hello,
Is there a function to split a string to different rows?
For example, t1(id, col1)
values(1, 'a, b, c');
select id, string_split_to_row(col1, ',');
Return:
=
1, a
1, b
1, c
You can probably use some combination of "string_to_array" and "unnest"
e.g.
SELECT unnest(string_to_array('a,b,c', ','));
unnest
a
b
c
(3 rows)
If you need a more complex string splitting mechanism, there is the
"regexp_split_to_array" function.
Jonathan
--
Emi Lu, ENCS, Concordia University, Montreal H3G 1M8
[email protected]+1 514 848-2424 x5884
--
Sent via pgsql-sql mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql
Re: [SQL] Split a string to rows?
All right. I found the function.
http://wiki.postgresql.org/wiki/Array_Unnest
Thanks a lot!
Emi
On 01/07/2013 03:16 PM, Emi Lu wrote:
Thanks a lot! I just noticed that my postgresql is 8.3(unnest function
is not there by default). Is there a way that I could download and load
only this function from somewhere?
Thanks again!
Emi
On 01/07/2013 02:58 PM, Jonathan S. Katz wrote:
On Jan 7, 2013, at 2:44 PM, Emi Lu wrote:
Hello,
Is there a function to split a string to different rows?
For example, t1(id, col1)
values(1, 'a, b, c');
select id, string_split_to_row(col1, ',');
Return:
=
1, a
1, b
1, c
You can probably use some combination of "string_to_array" and "unnest"
e.g.
SELECT unnest(string_to_array('a,b,c', ','));
unnest
a
b
c
(3 rows)
If you need a more complex string splitting mechanism, there is the
"regexp_split_to_array" function.
Jonathan
--
Emi Lu, ENCS, Concordia University, Montreal H3G 1M8
[email protected]+1 514 848-2424 x5884
--
Sent via pgsql-sql mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql
Re: [SQL] Split a string to rows?
Emi Lu wrote on 07.01.2013 21:16: Thanks a lot! I just noticed that my postgresql is 8.3(unnest function is not there by default). Is there a way that I could download and load only this function from somewhere? Are you aware that 8.3 will be de-suppported as of next month? You should really think about an upgrade *now* Thomas -- Sent via pgsql-sql mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql
