sql >> Base de Datos >  >> RDS >> PostgreSQL

SQL:cómo escapar de los paréntesis en PostgreSQL

Utilice la barra invertida para escapar de los paréntesis. Tenga en cuenta que si standard_conforming_strings el parámetro está desactivado (que es el comportamiento predeterminado hasta PostgreSQL 9.1), necesita usar dos barras invertidas \\ .

En general, hay tres enfoques para escapar de los paréntesis:

  • ordinario 'pattern' sintaxis, que depende de la configuración de strings de conformidad estándar
  • constante de cadena de escape, p. E'pattern'
  • constantes de cadena cotizadas en dólares $$pattern$$ o $sometext$pattern$sometext$

El primero es SQL estándar (especialmente con strings de conformidad estándar), otros son extensiones de PostgreSQL. Elija el método que desee.

Aquí tienes algunos ejemplos:

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;