2016-04-19 14 views
1

ダイナミック日付でCSVからコピー:PostgreSQLは、私がデータベースで次<code>Command</code>テーブルを持って

Command 
------------------------------------------------------------- 
id    | purchased_date      | ... 
integer NOT NULL | timestamp without time zone NOT NULL | ... 

今私は、CSVファイルからのデータと私のテーブルを埋めたいです。私のCSVファイルには、例えば以下の値が含まれます。

1,"2016-04-18 09:37:30" 
2,"2016-04-17 09:37:30" 
... 

私は\i 'my_csv_file.csv'を行うと、それは素晴らしい作品。私が今やりたいのは、データベースをリロードするときにCSVファイルを再生成しないために、CSVファイルに動的な日付を付けることです(これはテスト目的です)。私のような何かがしたい:

1,"CURRENT_DATETIME - INTERVAL '1 DAY'" 
2,"CURRENT_DATETIME - INTERVAL '2 DAY'" 

をしかし、私は同じコマンド\i 'my_csv_file.csv'を実行したとき、私は、エラーERROR: date/time value "current" is no longer supportedを持っています。それは私が望むことをすることが可能ですか?

+0

いいえ、それは不可能です。 –

答えて

0

オフセット付きのテンポラリテーブルを使用し、そこから挿入することができます。

CSV:

1,"INTERVAL '1 DAY'" 
2,"INTERVAL '2 DAY'" 

クエリ:

create temporary table tmp_table (
    id int, 
    offset_ interval 
); 

インポートCSVこのテーブルには、

insert into main_table (id, purchased_date) 
    (select id, now()-offset_ from tmp_table); 
関連する問題