Re: Inserting string with a " into an array using {} syntax ... possible? - Mailing list pgsql-general

From Pavel Stehule
Subject Re: Inserting string with a " into an array using {} syntax ... possible?
Date
Msg-id 162867790903130641o2716d83x664964a7fac1d819@mail.gmail.com
Whole thread Raw
In response to Inserting string with a " into an array using {} syntax ... possible?  (Bill Moran <wmoran@potentialtech.com>)
Responses Re: Inserting string with a " into an array using {} syntax ... possible?
List pgsql-general
Hello

try
postgres=# SELECT ARRAY['text "for you" some'];
           array
---------------------------
 {"text \"for you\" some"}
(1 row)

regards
Pavel Stehule


2009/3/13 Bill Moran <wmoran@potentialtech.com>:
>
> Between google searches and my own experiments, I can't find any way to
> actually make this work.
>
> I have a TEXT[] column, and one of the values I want to insert is
> 'text "for" you'.
>
> Is there no way to do this using the {} syntax?  Chronicled below are
> several of my attempts (various noise has been snipped):
>
> bill=# create table testarray (a TEXT[], id BIGSERIAL PRIMARY KEY);
>
> bill=# insert into testarray (a) values (E'{"text \"for you\"","moretext"}');
> ERROR:  malformed array literal: "{"text "for you"","moretext"}"
>
> bill=# insert into testarray (a) values (E'{"text \\"for you\\"","moretext"}');
> INSERT 0 1
> bill=# select * from testarray;
>               a               | id
> -------------------------------+----
>  {"text \"for you\"",moretext} |  3
>
> bill=# insert into testarray (a) values (E'{"text \"for you\"","moretext"}');
> ERROR:  malformed array literal: "{"text "for you"","moretext"}"
>
> bill=# insert into testarray (a) values (E'{"text ""for you","moretext"}');
> ERROR:  malformed array literal: "{"text ""for you","moretext"}"
> bill=# insert into testarray (a) values (E'{"text "for" you","moretext"}');
> ERROR:  malformed array literal: "{"text "for" you","moretext"}"
>
> bill=# insert into testarray (a) values (E'{"text \"for\" you","moretext"}');
> ERROR:  malformed array literal: "{"text "for" you","moretext"}"
>
> bill=# insert into testarray (a) values (E'{"text \042for\042 you","moretext"}');
> ERROR:  malformed array literal: "{"text "for" you","moretext"}"
>
> bill=# insert into testarray (a) values (E'{"text \\042for\\042 you","moretext"}');
> INSERT 0 1
> bill=# select * from testarray;
>                a                | id
> ---------------------------------+----
>  {"text 042for042 you",moretext} |  4
>
>
> --
> Bill Moran
> http://www.potentialtech.com
> http://people.collaborativefusion.com/~wmoran/
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

pgsql-general by date:

Previous
From: Bill Moran
Date:
Subject: Inserting string with a " into an array using {} syntax ... possible?
Next
From: "James B. Byrne"
Date:
Subject: Re: nulls