DBからCSV(カンマ区切り)やTSV(タブ区切り)でデータを出力するってことがたまにあるのですが、出力するデータに改行が入っているとCSVやTSVのフォーマットが崩れてしまってエクセルなどでうまく開けない時ってありますよね。 そんな時に幸せになれるかもしれない方法(PostgreSQL限定)を書いてみます。 素直に改行コードをreplaceで変換する 一つ目の方法は、まあ、単純に思いつきそうですが、replace関数で変換してしまう方法です。 変換対象の改行コードは以下のように表すことができます。 chr(13) : CR(キャリッジリターン) chr(10) : LF(ラインフィード) chr(13)||chr(10) : CRLF これをSQLで書いてみると、 select replace(replace(replace(description,chr(13)||chr(10),'