Thread: Convert of string to array problem
Have a string like '0.1;0.2;null;0.3' which I would like to convert into a double precision[] array. Trying: select cast (string_to_array('0.1;0.2;null;0.3', ';') as float8[]) gives me an error: invalid input syntax for type double precision: "null". Can anybody help me? -Bård
On 29 April 2010 13:35, Bård Grønbech <baard.gronbech@gmail.com> wrote:
I believe string_to_array will take that null as a string called 'null', which it can't convert to a float8.
Regards
Thom
Have a string like '0.1;0.2;null;0.3' which I would like to convert
into a double precision[] array.
Trying:
select cast (string_to_array('0.1;0.2;null;0.3', ';') as float8[])
gives me an error: invalid input syntax for type double precision: "null".
Can anybody help me?
-Bård
I believe string_to_array will take that null as a string called 'null', which it can't convert to a float8.
Regards
Thom
On Thu, Apr 29, 2010 at 8:52 AM, Thom Brown <thombrown@gmail.com> wrote: > On 29 April 2010 13:35, Bård Grønbech <baard.gronbech@gmail.com> wrote: >> >> Have a string like '0.1;0.2;null;0.3' which I would like to convert >> into a double precision[] array. >> >> Trying: >> >> select cast (string_to_array('0.1;0.2;null;0.3', ';') as float8[]) >> >> gives me an error: invalid input syntax for type double precision: "null". >> >> Can anybody help me? >> >> -Bård >> > > I believe string_to_array will take that null as a string called 'null', > which it can't convert to a float8. select array(select case when n='null' then null else n end from unnest(string_to_array('0.1;0.2;null;0.3', ';')) as n); ?column? -------------------- {0.1,0.2,NULL,0.3} merlin