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

Dai NAKAMURA dnimail @ software.sanix.jp
2004年 5月 5日 (水) 17:29:00 JST


中村です。

岩梨さまご返答ありがとうございます。

>なるほど、具体的な状況があまりはっきりしないようですが、
>  
>
質問の仕方が拙くてすみません。

>を      char(5) ,varchar(5) でいったん保存して、PostgreSQL で、" を無視した
>select をするとか、view にするとか。
>どうしても char(3) が必須でしたら、さらに新しいテーブルに入れるとか、
>では、どうなんでしょう。
>  
>
ちょっとやってみたのですが、やはり上手くいかないような感じです。
具体的には、

項目    変数型      実値
------+-------------+------
A      CHAR(3)        A,A
B      VARCHAR(3)     BBB
C      DECIMAL(10,2)  100.01

のようなものが入っていて、

"A,A","BBB",+00000100.01
と出力されたものが、レコードの中に一部存在してしまっています。
この場合、copyコマンドは、
1項目目:A
2項目目:A
3項目目:BBB
とみなし、3項目目で型が不一致(文字列型と数値型)でエラーとなって
しまいます。

他にデリミタ文字に、TABとか特殊記号とか考えられそうですが、中には
フリーテキストを入れさせている項目もあったりで、適当なデリミタ文字が
思いつかないでおります。





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