我有一个表,其中存在一个间隔类型列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
...
应该对列运行什么样的查询?
我有一个表,其中存在一个间隔类型列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
...
应该对列运行什么样的查询?
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
好像你真的需要更新你的数据一样。