如何快速简便地更正在错误时区中意外输入的时区TIMESTAMP WITH TIME ZONE字段?
在我的案例中,以下记录被错误地输入到UTC而不是美国/太平洋:

           t0           |           t1           |     what
------------------------+------------------------+---------------
 2011-06-01 13:00:00+00 | 2011-06-01 13:10:00+00 | recalibrating
 2011-06-01 13:10:00+00 | 2011-06-01 13:45:00+00 | verifying
 2011-06-01 13:45:00+00 | 2011-06-01 13:55:00+00 | FAULT

幸运的是,没有一个错误的记录跨越夏令时界限,所以2点UTC可以简单地更正为2点太平洋。

最佳答案

UPDATE <table> SET <timestamptz_field> = (<timestamptz_field> AT TIME ZONE 'UTC') AT TIME ZONE '<correct_time_zone>';

10-06 05:17
查看更多