2017-01-26 7 views
1

WindowsでPSQLを使用してSQLクエリを直接CSVファイルにエクスポートすると、エイリアスで列名を再定義しない限り)。列エイリアスを使用したPSQLからCSVファイルへの破損

しかし、すぐに、私は列の別名を使用して、例えば:

\copy (SELECT project AS "ID" FROM mydb.mytable WHERE project > 15 ORDER BY project) TO 'C:/FILES/user/test_SQL2CSV.csv' DELIMITER ',' CSV HEADER 

私は、CSVファイルで予期しない動作があります。 Excelで

  • :CSVが破損し、メモ帳で
  • 空白になっている:データが存在しますが、区切り文字なしまたはスペース で(連続、例えばID27282930 ...)
  • メモ帳++で:データはよくコラム

(例えば

ID 
27 
28 
29 
30 
... 

)で編成され

エイリアスを使用していないときと同じように、エクスポートされたファイルをExcel内で直接読み取ることができますか?

+0

がOK、問題を発見し、明らかにExcelが代わりにCSVの一部SYLK形式としてIDで始まるファイルを解釈し...例えば、列の別名の名前を変更しますMyIDは問題を解決しました:/参考:https://annalear.ca/2010/06/10/why-excel-thinks-your-csv-is-a-sylk/ – sc28

答えて

1

他のさまざまなクエリの設定をテストしたところ、問題が見つかりました。どうやらExcelはCSVではなくSYLK形式として "ID"で始まるファイルを解釈します。 "MyID"が問題を修正しました。ここ

参考:annalear.ca/2010/06/10/why-excel-thinks-your-csv-is-a-sylk

+0

よし、それは私たちの古い友達、Excelです。これら2つの文字 'ID'だけがこの"破損 "を引き起こすことに注意してください。引用された変種(ファイル/ヘッダが '' ID "...で始まるところ)は、Excelで読み取ることができます。ヘッダーに引用符を付けることができたら(私はPostgreSQLの 'COPY'コマンドでこれを試みたことはありません)。 – pozs

+0

良いヒントは、道を助けることができますが、主な問題はその特定のラベルを保持することではなく、エイリアスがうまく動作するようにすることでした。とにかく、ありがとう! – sc28

関連する問題