PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

SQL - Comment échapper aux parenthèses dans PostgreSQL

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;