Postgres 以格式转换时间而不带分钟



我希望这比现在更容易,但我有一个表格,其中的时间格式如下:

11:35:00 
12:02:00 
13:04:00

我需要返回这些时间,以便它仅显示:

11:35
12:02
13:04

我能在网上找到的每个解决方案都说使用

date_trunc('minute', time_here)

这只会以与它已有的相同秒格式返回时间。我希望从格式中完全删除秒数。有什么方法可以将其更改为 HH:MM 格式吗?谢谢

如果这是出于显示目的,例如以下定义:

create table t1 (tt timestamp);
insert into t1 values ('2018-08-24 12:10:00');
insert into t1 values ('2018-08-24 11:02:00');
insert into t1 values ('2018-08-24 13:00:30');

以下:

select to_char(tt, 'HH24:MI') from t1;

将产生:

to_char
12:20
11:02
13:00

date_trunc将数据保留为时间戳,并且时间戳上的选择将以通常的格式显示。 显式转换为 char(与 to_char 一样(允许不同的布局。
有关所有不同格式选项的文档,请参阅此处

最新更新