如何在postgresql中将分钟转换为小时

如何在postgresql中将分钟转换为小时,postgresql,Postgresql,我是PostgreSQL新手,我需要将列中的分钟值转换为小时和分钟格式,我在各种来源中搜索过,但未能实现。请有人帮助我实现这一点。 也就是说,当我尝试使用to_char()时,如下所示: UPDATE tablename SET col2 = TO_CHAR(((col1*60 ||`second`))::interval, ‘HH24:MI:SS’) where id = 145; 但我得到以下错误 您的列late\u by具有时间戳,但您希望使用间隔而不是时间戳来更新它。如果你想节省某人迟

我是PostgreSQL新手,我需要将列中的分钟值转换为小时和分钟格式,我在各种来源中搜索过,但未能实现。请有人帮助我实现这一点。 也就是说,当我尝试使用to_char()时,如下所示:

UPDATE tablename SET col2 = TO_CHAR(((col1*60 ||`second`))::interval, ‘HH24:MI:SS’) where id = 145;
但我得到以下错误


您的列
late\u by
具有时间戳,但您希望使用间隔而不是时间戳来更新它。如果你想节省某人迟到的时间,最好使用
interval
,例如:

t=# create table w3 (t interval);
CREATE TABLE
t=# insert into w3 select (185||' seconds')::interval;
INSERT 0 1
t=# select * from w3;
    t
----------
 00:03:05
(1 row)

正如你所看到的,postgres本身将“转换”为分钟数,不清楚你的陈述中的每一列是什么类型

但如果有帮助的话,你可以每隔一段时间做数学题

select interval '60 seconds' * 15;

或者在您的例子中,如果“col1”是整数:间隔“60秒”*col1

我认为区间数据类型更适合字段
late\u by
请回答您的问题和
create table
语句,您使用的实际语句(您显示的语句无效)一些示例数据和基于该数据的预期输出。请您的问题-不要在评论中发布代码或其他信息。@VaoTsun我不明白您所说的。请详细解释。请尝试在此处更改它
select(185 | |“seconds”)::interval
select interval '60 seconds' * 15;