[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 メーリングリストの案内