首页 > 解决方案 > PostgreSQL 时区偏移量以分钟为单位为负部分`(-02:-30)`

问题描述

尝试所有时区名称和偏移值, pg_timezone_names但很少有偏移量在分钟部分带有负号。

这是查询

select name, to_char(utc_offset, 'HH24:MI' ), utc_offset
from pg_timezone_names
WHERE  name LIKE '%Canada/Newfoundland%'
ORDER  BY name;

结果是

在此处输入图像描述

从结果中可以看出,偏移量(-02:-30)有一个负号。预期的结果将是-02:30。Postgres 中是否有任何可能的方法来格式化这样的偏移值?

标签: sqlpostgresql

解决方案


为什么不?:

select name,  utc_offset::varchar, utc_offset 
from pg_timezone_names
WHERE  name LIKE '%Canada/Newfoundland%'
ORDER  BY name;
        name         | utc_offset | utc_offset 
---------------------+------------+------------
 Canada/Newfoundland | -02:30:00  | -02:30:00
(1 row)

就您的目的而言to_char(),结果只是很长的路要走。


推荐阅读