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 に答える