2017-12-25 11 views
0

テーブルを作成するときに、次の構文を持つcsvファイルのタイムスタンプをどのように処理しますか?MM/DD/YY HH:MI?PostgreSQLでは、タイムスタンプ値を扱うときにcreate table呼び出しに渡すデータ型は何ですか?

ERROR: ERROR: invalid input syntax for type timestamp: "visit_datetime" Where: COPY air_reserve, line 16, column visit_datetime: "visit_datetime"

一つの解決策を:私はというエラーメッセージが表示され、

create table timetable (
    time timestamp 
); 

copy table from '<path>' delimiter ',' CSV; 

しかし:私はPostgreSQLの中で次のスクリプトを試してみました1/1/16午後07時00

:ここでは例です私は最初にcharでtimestamp列を作成し、それから関数呼び出し 'to_char(time、MM/DD/YY HH:MI)を使って適切なタイムスタンプデータ型に変換する別のクエリを実行することを考えました。しかし、私は単一のクエリで正しいデータ型でデータを読み込むことができるソリューションを探しています。

+1

[psql \ copy](https://stackoverflow.com/questions/14042452/importing-csv-with-timestampを使用して[タイムスタンプ列(dd.mm.yyyy hh.mm.ss)で.csvをインポートすること)の可能な複製-column-dd-mm-yyyy-hh-mm-ss-using-psql-copy) – Dmitry

答えて

0

あなたが持っているデータを読み込むことができるdatestyleが見つかるかもしれませんが、遅かれ早かれ誰かがあなたに届かないものをあなたに届けます。

あなたが考えた解決策がおそらく最適です。

これはデータウェアハウスをロードするための標準パターンとして使用します。今日のデータは、ターゲットデータ型に直接ロードされないデータに対してvarcharカラムを使用してステージングテーブルにロードします。その後、データを適切な状態にするために必要なスクリプトを実行し、以前に見たことのない方法で壊れたものについて警告を出します。次に、今日のデータのクリーン・バージョンを、前日のすべてのクリーン・データを含む表に追加します。

これにはいくつかの手順が必要ですか。私たちはそれらをすべてスクリプトに入れ、自動化ジョブとして実行します。

私が使用している技術の文書化に取り組んでいます。あなたはこれの始まりをhttp://www.thedatastudio.netに見ることができます。

+0

非常に包括的かつ慎重な回答をいただきありがとうございます! –

関連する問題