PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

SQL - So umgehen Sie Klammern in PostgreSQL

Verwenden Sie Backslash, um Klammern zu entkommen. Beachten Sie, dass wenn standard_conforming_strings Parameter auf off gesetzt ist (was das Standardverhalten bis PostgreSQL 9.1 ist), müssen Sie zwei Backslashes \\ verwenden .

Generell gibt es drei Ansätze, um Klammern zu umgehen:

  • gewöhnliches 'pattern' Syntax, die von der Einstellung standard_conforming_strings abhängig ist
  • Escape-String-Konstante z.B. E'pattern'
  • Zeichenkettenkonstanten in Dollar-Anführungszeichen $$pattern$$ oder $sometext$pattern$sometext$

Die erste ist Standard-SQL (insbesondere mit standard_conforming_strings), andere sind PostgreSQL-Erweiterungen. Wählen Sie die Methode, die Ihnen gefällt.

Hier haben Sie einige Beispiele:

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;