4

我有一个表,其中存在一个间隔类型列Duration。目前,这些值表示为以下HH:MM:SS数据:

15:32:00
17:01:00
16:02:00
... 

问题在于,实际上数据仅类似于分钟和秒,并且应该更新列的值,以便值将变为:

15:32:00 -> 00:15:32
17:01:00 -> 00:17:01
16:02:00 -> 00:16:02

...

应该对列运行什么样的查询?

4

1 回答 1

4
SELECT EXTRACT(hour FROM duration) * INTERVAL '1' minute + EXTRACT(minute FROM duration) * INTERVAL '1' second
FROM tbl
;

编辑

这是我的原始答案,它没有回答原始问题:

你可以尝试这样的事情:

SELECT duration - EXTRACT(hour FROM duration) * INTERVAL '1' hour
FROM tbl
;

它从间隔中提取小时部分并从原始值中减去该部分。重写,就UPDATE好像你真的需要更新你的数据一样。

于 2012-09-06T08:23:18.773 回答