携帯から質問しているためマークダウン記法が使えないないです。申し訳ございません。
PostgreSQLの「COPY TO」を使用して改行含むデータを出力したいです。
【テーブル】
COL1, COL2, COL3
0001, a, あいうえお<CRLF(←↓)>かきくけこ
※COL3のデータには改行コード(CRLF)が含まれています。
【実行コマンド】コマンドプロンプトで実行
psql -h localhost -p 5432 -U postgres -d testdb -c "COPY (SELECT * from test) TO STDOUT WITH encoding 'SJIS' CSV HEADER DELIMITER ',' FORCE QUOTE *;" 1> "c:\work\test.csv"
【出力結果】
col1,col2,col3
"0001","a","あいうえお
かきくけこ"
【問題点】
改行コードが含まれているに余計な改行コードが付与されてしまう。
あいうえお<←><←↓>かきくけこ
この問題を解決するには、テーブルデータの改行はLFのみにする。
もしくは改行コードをLFに置換して出力する。
のどちらかしかできないのでしょうか?
【試した事】
・外部ファイルで読み込む。
SQLファイルの文字コードをSJIS、UTF8にしても同じ事象になりました。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/13 10:55
2020/03/13 12:13 編集
2020/03/13 12:12 編集
2020/03/13 12:31
2020/03/14 08:56
2020/03/14 09:38
2020/03/14 09:59
2020/03/15 23:29