[pgsql-jp: 37709] Re: 時間の表し方についておしえてください。
ISHIDA Akio
iakio @ mono-space.net
2006年 11月 22日 (水) 08:28:18 JST
こんにちは。石田@苫小牧市です。
06/11/21 に vitz.kun @ nifty.com<vitz.kun @ nifty.com> さんは書きました:
> 石田@苫小牧市様
>
> お世話になります。
> 根田です。アドバイスどうもありがとうございます。
>
> 確かにバージョンの違いがあるみたいでした。
> 私の方では8.0.1で行っていました。
> 8.0.1では
> # select to_char(90000 * interval '1 second', 'HH24:MI:SS');
> to_char
> ----------
> 01:00:00
> (1 row)
> のようにも なるみたいです。(なんとなく変な気しますが)
>
> 今回は最新のバージョンで行える事が可能ですので
> よかったでした。
>
> どうもありがとうございました。
なるほど。8.0 では to_char を使っても 01:00:00 に
なってしまうのですね。勘違いしていました。
別の解としては、
このケースでは実は interval にした方が扱いづらいので、
開き直って数値のまま扱った方が楽かもしれません。
=# select to_char(90000 / 60 / 60, 'FM00') || ':' ||
to_char(90000 / 60 % 60, 'FM00') || ':' ||
to_char(90000 % 60, 'FM00');
?column?
----------
25:00:00
(1 row)
90000 を 3 回書くのが気持悪い場合、
=# select to_char(i / 60 / 60, 'FM00') || ':' ||
to_char(i / 60 % 60, 'FM00') || ':' ||
to_char(i % 60, 'FM00') from (select 90000) as v (i);
?column?
----------
25:00:00
(1 row)
とか。
--
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>
pgsql-jp メーリングリストの案内