Re: Postgres und Quotes

From: Andreas Seltenreich <seltenreich(at)gmx(dot)de>
To: Marc Hanisch <hanisch(at)ateam(dot)de>
Cc: pgsql-de <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Postgres und Quotes
Date: 2005-06-02 18:51:15
Message-ID: 873bs0a8yk.fsf@gate450.dyndns.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Marc Hanisch schrob:

> ich möchte folgendes einfaches UPDATE-Statement ausführen:
>
> UPDATE table SET field='Marc\'s Problem mit Quotes' WHERE field =
> 'ausdruck'
>
> Von MySQL bin ich gewöhnt, dass im DB-Feld nun

Escaping der Quotes mit \ ist zwar nicht im SQL-Standard, aber
Postgres kennt diese Erweiterung auch.

> Marc's Problem mit Quotes
>
> stehen sollte, lt. Postges-Doku sollte es auch funktionieren.
> Allerdings wird der Backslash direkt in die DB geschrieben... :-/ Ich

Wie führst du denn das Statement aus? Und wie läßt du dir die Daten
wieder anzeigen? In psql würde mich dieses Verhalten auch wundern,
aber ich vermute, daß du das über irgendeine Client-Library/Postgres-GUI
schickst, und es von dieser nochmal zusätzlich escaped wird.

> habe auch die Variante mit den doppelten Quotes, also
> Marc''s Problem mit Quotes
>
> versucht, auch hier wird ein Backslash dazugezaubert. Hab ich hier das
> Brett vor dem Kopf?

Works for me(TM):
--8<---------------cut here---------------start------------->8---
scratch=# UPDATE foo SET bar='Marc\'s Problem mit Quotes';
UPDATE 1
scratch=# select * from foo;
bar
---------------------------
Marc's Problem mit Quotes
(1 row)

scratch=# UPDATE foo SET bar='Marc''s Problem mit Quotes';
UPDATE 1
scratch=# select * from foo;
bar
---------------------------
Marc's Problem mit Quotes
(1 row)

scratch=# select version();
version
-------------------------------------------------------------------------------------------------------
PostgreSQL 7.4.6 on i386-pc-linux-gnu, compiled by GCC i386-linux-gcc (GCC) 3.3.4 (Debian 1:3.3.4-13)
(1 row)
--8<---------------cut here---------------end--------------->8---

HTH
Andreas

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Jessica Ditt 2005-06-02 21:21:37 memory management / palloc / repalloc
Previous Message Kretschmer Andreas 2005-06-02 17:56:56 Re: Umlaute & psql