Usa la barra rovesciata per sfuggire alle parentesi. Tieni presente che se standard_conforming_strings parametro è impostato su off (che è il comportamento predefinito fino a PostgreSQL 9.1) è necessario utilizzare due barre rovesciate \\
.
Generalmente ci sono tre approcci per sfuggire alle parentesi:
- ordinario
'pattern'
sintassi, che dipende dall'impostazione standard_conforming_strings - stringa di escape costante ad es.
E'pattern'
- Costanti stringa tra virgolette
$$pattern$$
o$sometext$pattern$sometext$
Il primo è SQL standard (specialmente con standard_conforming_strings), gli altri sono estensioni PostgreSQL. Scegli il metodo che preferisci.
Ecco alcuni esempi:
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;