こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

PostgreSQL MySQL CSV入出力

timestamp型をCOPYコマンド出力する際ダブルクォーテーションでクォートしたい。

COPY (SELECT id, TOCHAR(date, 'YYYY-MM-DD hh:mm:ss'), names) FROM table) TO E'/export.txt' WITH CSV null'\\N';

これで出力すると以下のようなデータが吐かれる
1行目:1,2011-01-01 01:01:00,"{""A_01"",""A_02""}"
2行目:2,2011-01-02 02:02:00,{""A_03""}
配列外側の二重引用符は、要素が二つ以上のときのみ付く

FORCE QUOTE id, date, names とすると日付の部分でエラーになる。

投稿日時 - 2011-08-13 12:51:04

QNo.6940189

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

(1) (SELECT id, TOCHAR(date, 'YYYY-MM-DD hh:mm:ss'), names) FROM table)
のTOCHAR(date, 'YYYY-MM-DD hh:mm:ss'),に別名をつけて FORCCE QUOTEする。

(2) DATEがTIMESTAMP型なら
COPY table TO E'/export.txt' WITH CSV FORCE QUOTE DATE,NAME null'\\N';

でもいけるはず。

投稿日時 - 2011-08-13 12:59:53

あなたにオススメの質問