PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

SQL - Como escapar de parênteses no PostgreSQL


Use barra invertida para escapar dos parênteses. Observe que se standard_conforming_strings estiver definido como off (que é o comportamento padrão até o PostgreSQL 9.1), você precisa usar duas barras invertidas \\ .

Geralmente, existem três abordagens para escapar dos parênteses:
  • comum 'pattern' sintaxe, que depende da configuração standard_conforming_strings
  • constante de string de escape, por exemplo E'pattern'
  • constantes de string cotadas em dólares $$pattern$$ ou $sometext$pattern$sometext$

O primeiro é o SQL padrão (especialmente com standard_conforming_strings), outros são extensões do PostgreSQL. Escolha o método que você gosta.

Aqui tens alguns exemplos:
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;