[pgsql-jp: 31873] Re: interval型から総時間数を取得したい

ISHIDA Akio iakio @ pjam.jpweb.net
2003年 12月 26日 (金) 17:05:22 JST


こんにちは。石田@苫小牧市です。

多田 知之 wrote:

> 多田といいます
>
> 質問内容は、表題の通り
> ----------------------------------------
> interval型から総時間数を取得したい
> ----------------------------------------
> です
> Redhat8.0+PostgreSQL7.4を使用しています
>
> いま、二つのtimestamp型の差分を取ると、以下のように表示されます
> ----------------------------------------
>  title |     interval
> -------+------------------
>  A     | 09:00:00
>  B     | 13:00:00
>  C     | 02:00:00
>  D     | 1 day 02:00:00
>  E     | 11 days 23:00:00
>  F     | 1 day 20:00:00
>  G     | 18 days 05:00:00
> ----------------------------------------
> このような状態のとき、例えば、G行などは、18日x24時間+5時間=437で437時間
> と表示させたいのです
> to_charなどを使えば解決するのでしょうか?
>
> よろしくお願いいたします

date_part() あるいは extract() を使って総秒数を出して、3600 で割る、
というのはどうでしょうか。

=> select extract(epoch from '18 days 05:00:00'::interval)  / 3600;
 ?column?
----------
      437
(1 行)

-- 
ISHIDA Akio<iakio @ pjam.jpweb.net>





pgsql-jp メーリングリストの案内