PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Escape-Einstellungen für PostgreSQL-Strings

Das Maskieren eines einfachen Anführungszeichens in (Standard-)SQL erfolgt durch die Verwendung von zwei einfachen Anführungszeichen, z. B.
'Peter''s house'

Ich bevorzuge die Verwendung des expliziten ARRAY[..] was auch ein Anführungszeichen weniger benötigt, sodass Ihre Einfügung folgendermaßen geschrieben werden könnte:

INSERT into t1 (columnname) 
VALUES (ARRAY['str1', 'str2''with quote symbol']);

In Versionen vor 9.1 erlaubte Postgres die Verwendung von \ als alternatives Fluchtzeichen, würde aber eine Warnung protokollieren, wenn es verwendet wird. Seit 9.1 ist der Konfigurationsparameter standard_conforming_strings aktiviert ist und damit der \ kann nicht als Escapezeichen verwendet werden. Ein einfaches Anführungszeichen.