バックスラッシュを使用して括弧をエスケープします。 standard_conforming_strings<の場合は注意してください/ a> パラメータがオフに設定されている場合(これはPostgreSQL 9.1までのデフォルトの動作です)、2つの円記号を使用する必要があります\\
。
一般に、括弧をエスケープする方法は3つあります。
- 通常の
'pattern'
standard_conforming_strings設定に依存する構文 - エスケープ文字列定数(例:
E'pattern'
- ドルで引用された文字列定数
$$pattern$$
または$sometext$pattern$sometext$
最初のものは標準SQL(特にstandard_conforming_stringsを使用)であり、その他はPostgreSQL拡張機能です。好きな方法を選択してください。
ここにいくつかの例があります:
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;