[pgsql-jp: 39978] 8.4 で timestamp の time zone 変換が
IT
tech.ichiro @ gmail.com
2009年 8月 26日 (水) 13:45:29 JST
はじめまして。中上と申します。
【環境】
PostgreSQL8.4
Windows Vista SP1 日本語版 32bit
timestamp without time zone から timestamp with time zone への変換で
以下の現象が発生しております。
【現象】
1887-12-31 14:59:59 以前の timestamp without time zone を
AT TIME ZONE 'UTC' で timestamp with time zone に変換すると、
1888-01-01 00:18:58+09:18:59 のように、
時間帯指定が +09 ではなく、+09:18:59 となる。
【再現SQL】
postgres=# SELECT '1887-12-31 14:59:59'::timestamp without time zone
AT TIME ZONE 'UTC';
timezone
------------------------------
1888-01-01 00:18:58+09:18:59
(1 行)
上記日時以降は正常に+09 に変換できます。
postgres=# SELECT '1887-12-31 15:00:00'::timestamp without time zone
AT TIME ZONE 'UTC';
timezone
------------------------
1888-01-01 00:00:00+09
(1 行)
PostgreSQL8.3.7では、私が試した限りどんな時刻でも +09 に変換出来ますので、
8.4のバグかもしれないと思っているのですが、いかがでしょうか?
またPostgreSQL8.4で +09 に変換する方法がありましたらご教授下さい。
pgsql-jp メーリングリストの案内