[pgsql-jp: 32895] Re: 2重引用符でくくられた文字列を含むCSV ファイルをCOPYでインポート

Naritaka KAGA ten.chi @ adst.keio.ac.jp
2004年 5月 5日 (水) 14:23:18 JST


加賀です。

この件はDB2のexportで解決できませんか?
DB2でのテストとしては

Dai NAKAMURA さんは書きました:
>項目    変数型      実値
>------+-------------+------
>A      CHAR(3)        AAA
>B      VARCHAR(3)     BBB
>C      DECIMAL(10,2)  100.01
>
とりあえずDB2でテストのためにtableを作成しデータをいれた
 db2 "create table x.test1(c1 char(10), c2 varchar(10), c3 decimal(10,2))"
 db2 "insert into x.test1 values ('AA','BB',+100.01)"
つぎにexportのテスト
db2 "export to /tmp/test_del1.txt of del select * from x.test1"
の結果は、
[myinst1 @ mytestdb myinst1]$ cat /tmp/test_del1.txt
"AA        ","BB",+00000100.01
となり、つまり下記のようになっていました。
----------
>とあった場合、EXPORTされるレコードは、
>"AAA","BBB",+00000100.01
>となります(このファイルをhoge.txtとします)。
>今Postgresで下記のように同様の定義を持つテーブルX
------------
exportの方法を変えて、
db2 "export to /tmp/test_del2.txt of del modified by nochardel select * from x.test1"
結果の確認として、
[myinst1 @ mytestdb myinst1]$ cat /tmp/test_de2.txt
AA        ,BB,+00000100.01
のようになっています。これは望まれた結果でしょうか?

DB2のデータ形式は割りと他のDBとの互換性が少ないので、SQL SERVER-> DB2へのデータ移行時は
タイムスタンプで苦労したことがあります。大量データをPGに移行するならば、
SEDやPERLでのスクリプトを作成した方が楽です。



pgsql-jp メーリングリストの案内