• 締切済み

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 とすると日付の部分でエラーになる。

みんなの回答

回答No.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'; でもいけるはず。

関連するQ&A