Re: problem with escaping "

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: problem with escaping "
Дата
Msg-id 18760.1035297069@sss.pgh.pa.us
обсуждение исходный текст
Ответ на problem with escaping "  (Andrei Ivanov <andrei.ivanov@ines.ro>)
Список pgsql-general
Andrei Ivanov <andrei.ivanov@ines.ro> writes:
> If I try to insert some text with " inside, I try to escape it with a \
> INSERT INTO pp VALUES ('(1, "aa \" bb", "fghij")')
> But I get an error:
> Bad movie_property external representation '(1, "aa " bb", "fghij")'
> which means that my movie_property_in function receives the string
> '(1, "aa " bb", "fghij")', without the \ in it.

Yup.  The backslash will be eaten by the string-literal parser.

> The same exact thing works for varchar or text fields.

No it doesn't.  Observe:

regression=# select  ('(1, "aa \" bb", "fghij")')::text;
          text
-------------------------
 (1, "aa " bb", "fghij")
(1 row)

You'll need to double the backslash if you want the type's I/O function
to see it.  Compare for example the discussion of array quoting at the
bottom of this page:
http://www.ca.postgresql.org/users-lounge/docs/7.2/postgres/arrays.html

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Andrew Sullivan
Дата:
Сообщение: Re: [HACKERS] Hot Backup
Следующее
От: Andrew Sullivan
Дата:
Сообщение: Re: Hot Backup