1

我有 10 年的每小时价格数据。意思是,每天有 24 个价格。

问题是,价格来自前一小时的交易。因此,我的数据源列出了每天的第 24 小时,并且没有 0 小时。

  Example (for further clarity):   
  The records for a day start at: 07/20/2010 01:00:00 
  The records for a day end at: 07/20/2010 24:00:00

这与我的 Rails Apps PostgreSQL DB 想要保存 DateTime 值的方式相冲突。当我将此数据从 CSV 导入我的数据库并将日期保存到 DateTime 列时,它将所有 24:00:00 更改为第二天的 00:00:00。这会影响我的各种最终用途的准确性。

无论如何我可以修改我的 Postgres DB 的行为以不这样做吗?还有其他建议吗?

4

1 回答 1

0

您总是可以在执行导入后减去一个小时。

我不知道您的数据库架构,因此要以一般方式执行此操作,您必须在每个具有日期的列上执行此 SQL。

UPDATE table SET date_field = date_field - INTERVAL '1 hour'
于 2013-01-04T04:23:58.967 回答