我有一个表格,其中存在间隔类型列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
...
应该对列运行什么类型的查询?
答案 0 :(得分: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
。