【PostgreSQL】改行コードで結合、置換する
改行コードで結合する方法
改行コードは全部で3種類あるので、注意が必要です。
よくわからない場合は、次の例を実行してみてうまくいくものを使ってみましょう。
例は、文字1と文字列2を結合している文です。(そのまま実行できます)
--改行コード(Windowsの場合):chr(13) + chr(10) を使う
select '文字1' || chr(13) || chr(10) || '文字2';
--改行コード2(Mac OS(9以前)の場合):chr(13)を使う
select '文字1' || chr(13) || '文字2';
--改行コード3 UNIX系の場合:chr(10)を使う
select '文字1' || chr(10) || '文字2';
chr(13) : CR キャリッジ・リターン
chr(10) : LF ラインフィールド
chr(13) + chr(10) : CRLF を示しています。
改行コードを置換する
次は、改行コードを置換する例です。
--改行コードを置換して、1行にする文
--『'\r|\n|\r\n'』と『'g'』は変更せずそのまま使ってください。
select REGEXP_REPLACE('文字列','\r|\n|\r\n', '改行をこの文字に置換','g');
--3行になっている文の改行を置換して、1行にする文
select REGEXP_REPLACE('あいうえお
かきくけこ
さしすせそ','\r|\n|\r\n', '','g'); -- あいうえおかきくけこさしすせそ
--改行コードを別の文字(ここでは「改行」)に置換する例
select REGEXP_REPLACE('あいう
かきく
さしす','\r|\n|\r\n', '改行','g'); -- あいう改行かきく改行さしす
'\r|\n|\r\n' … 「\r」、「\n」、「\r\n」を空文字("")に置換
'g' … すべての改行を置換 を表しています。