[pgsql-jp: 33205] Re: 日付の演算について

ISHIDA Akio iakio @ pjam.jpweb.net
2004年 6月 11日 (金) 09:51:30 JST


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

Satoshi Kumagai wrote:
(中略)

> 前任者?がPostgreSQL 7.2.xの時代に、timespanという関数を用いて、やっていた(らしい)のですが、
> 環境がPostgreSQL 7.3.4に変わってからうまく動かないという次第です。
> 
> 日付 <= 今の日付時間 + '30 minutes'
> ならば、うまくいきそうなのですが、この30と言う数字をテーブルのフィールドで制御となると
> うまくいかないようです。
> 
> 以上、説明に不備があるかもしれませんが、よろしくお願いいたします。

どういうSQLでどういうエラーが出たのかわからないので想像で書きますが。
7.0以降では、timespan は interval に変更されました。
実際に timespan が使えなくなったバージョンは覚えてません。
http://www.postgresql.jp/document/pg742doc/html/release-7-0.html

その為、例えば
select timespan('30 minutes')
のような  SQL は
select "interval"('30 minutes')
と書くと動くようですが、あまり推奨されない書きかたらしいので、
select cast('30 minutes' as interval)
select '30 minutes'::interval"
と書くのが良いようです。
http://www.postgresql.jp/document/pg742doc/html/sql-expressions.html#SQL-SYNTAX-TYPE-CASTS

-- 
ISHIDA Akio <iakio @ pjam.jpweb.net/iakio @ mono-space.net>



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