PostgreSQLの文字列のエスケープ
SQLの文字列リテラルはシングルクォートで囲われた文字の並びである。文字列リテラルの中にシングルクォートを入れたい場合、PostgreSQLではシングルクォートを続けて2つ書くことで文字列リテラル中にシングルクォートを記述できる。
dbtest=> SELECT 'ab''c'; ?column? ---------- ab'c (1 行)
また、文字列リテラルを記述するときの最初のシングルクォートの前に "E" を書くことによって、C言語の文字列リテラルのようにバックスラッシュでエスケープ文字として使用できる。シングルクォートは "\'"、バックスラッシュ文字自体を "\\" と記述できる。また、"\t", "\n" などの制御文字も記述できる。
dbtest=> SELECT E'a\'b\\c\td\nf'; ?column? ----------- a'b\c d+ f (1 行)
参考サイト:
PostgreSQL 9.1.5文書 語彙の構成
PostgreSQLで「'」(シングルクォーテーション/単一引用符)をエスケープ処理する方法 - r_nobuホームページ
PostgreSQLでエスケープ文字を利用する場合の注意 - takami_hirokiの日記
« 2014八重山旅行記 まとめ | Main | PHPメモ041:パスワードのSalt付きハッシュ値 »
「PostgreSQL」カテゴリの記事
- CakePHPのインストール(2015.06.14)
- PHPからPDOでPostgreSQLに接続する(2015.06.09)
- PostgreSQLのインストール その2(2015.03.29)
- PostgreSQLのインストール その1(2015.03.23)
- 列の値を使って日時に「+n日」する(2015.02.04)
The comments to this entry are closed.


Comments