PostgreSQL で改行を含む文字列で Insert・Update・カラムコメントを付ける
PostgreSQL (ポスグレ・エスキューエル) を使い始めた。Oracle より柔軟性がある感じがする。
今回は改行を含む文字列で Insert・Update したり、テーブル・カラムにコメントを付けたりする方法を紹介。
方法1 : chr()
を使う
chr(13)
で CR、chr(10)
で LF が入れられるので、コレを ||
で結合して使う。
INSERT INTO hoge_table (column_1) VALUES ('何らかの文字' || chr(10) || 'これで改行できる');
UPDATE hoge_tagle SET column_1 = '何らかの文字' || chr(10) || 'これで改行できる';
COMMENT ON TABLE hoge_table IS '何らかの文字' || chr(10) || 'これで改行できる';
COMMENT ON COLUMN hoge_table.column_1 IS '何らかの文字' || chr(10) || 'これで改行できる';
この方法は Oracle とかでも使えるので一般的かも。
方法2 : E
オプションを使う
文字列を示すシングルクォートの直前に E
と付けると、文字列中に \n
とか \r
とか書いた部分が改行コードとして認識されるようになる。「E''
文字列構文」と呼ぶみたい。
INSERT INTO hoge_table (column_1) VALUES (E'こうやって\n改行できる。';);
UPDATE hoge_tagle SET column_1 = E'こうやって\n改行できる。';
COMMENT ON TABLE hoge_table IS E'こうやって\n改行できる。';
COMMENT ON COLUMN hoge_table.column_1 IS E'こうやって\n改行できる。';