我不明白这两列之间的区别。美国/芝加哥时区是 UTC-6,所以我希望两者都返回相同的结果:
select timezone('America/Chicago', '2017-01-01 12:00:00'::TIMESTAMP AT TIME ZONE 'UTC'),
timezone('UTC-6' , '2017-01-01 12:00:00'::TIMESTAMP AT TIME ZONE 'UTC');
Run Code Online (Sandbox Code Playgroud)
然而,结果是:
2017-01-01 06:00:00 | 2017-01-01 18:00:00
Run Code Online (Sandbox Code Playgroud)
而且,这种行为非常尴尬,
SELECT '1:00 -1'::time with time zone AT TIME ZONE '-1';
timezone
-------------
03:00:00+01
Run Code Online (Sandbox Code Playgroud)
谁能解释一下?