Utilisez une barre oblique inverse pour échapper aux parenthèses. Notez que si standard_conforming_strings le paramètre est désactivé (ce qui est le comportement par défaut jusqu'à PostgreSQL 9.1), vous devez utiliser deux barres obliques inverses \\
.
Généralement, il existe trois approches pour échapper aux parenthèses :
'pattern'
ordinaire syntaxe, qui dépend du paramètre standard_conforming_strings- chaîne d'échappement constante, par ex.
E'pattern'
- constantes de chaîne entre guillemets en dollars
$$pattern$$
ou$sometext$pattern$sometext$
Le premier est le SQL standard (en particulier avec les chaînes standard_conforming_strings), les autres sont des extensions PostgreSQL. Choisissez la méthode que vous préférez.
Voici quelques exemples :
SET standard_conforming_strings = 0;
SELECT
'Antonio De Sant''Ana Galvao Av Frei (Av 01 Parte A)'
~*
'Antonio De Sant\'Ana Galvao Av Frei \\(Av 01 Parte A\\)'
SET standard_conforming_strings = 1;
SELECT
'Antonio De Sant''Ana Galvao Av Frei (Av 01 Parte A)'
~*
'Antonio De Sant''Ana Galvao Av Frei \(Av 01 Parte A\)'
SELECT
'Antonio De Sant''Ana Galvao Av Frei (Av 01 Parte A)'
~*
E'Antonio De Sant\'Ana Galvao Av Frei \\(Av 01 Parte A\\)'
SELECT
'Antonio De Sant''Ana Galvao Av Frei (Av 01 Parte A)'
~*
$$Antonio De Sant'Ana Galvao Av Frei \(Av 01 Parte A\)$$
SET standard_conforming_strings = default;