[pgsql-jp: 33352] Re: SQL文の書き方
Tietew
tietew @ tietew.net
2004年 6月 23日 (水) 16:28:07 JST
On 23 Jun 2004 15:23:09 +0900
In article <20040623062309.49919.qmail @ msp.nttx.co.jp>
[[pgsql-jp: 33349] SQL文の書き方]
<miyabi_777 @ itpmail.itp.ne.jp> wrote:
> A text
> B timestamp
> C timestamp
>
> というテーブルがあって、Bは登録日時、Cは更新日時です。
> 登録しただけのときはCはNULLになっています。
>
> で、これらから、CにデータあるときはCから、CがNULLなら
> Bから、90日以上経ったAを取得したいのですが、どのような
> SQL文を書くのがいいのでしょう?
SELECT * FROM thetable
WHERE COALESCE(C, B) <= (CURRENT_TIMESTAMP - INTERVAL '90 days');
で如何でしょう。
COALESCE(C, B) は (CASE WHEN C IS NULL THEN B ELSE B END) とも書
けます。
―[ Tietew ]――――――――――――――――――――――――――――
Mail: tietew @ tietew.net / tietew @ raug.net
Web : http://www.tietew.net/ Tietew Windows Lab.
PGP fingerprint: 26CB 71BB B595 09C4 0153 81C4 773C 963A D51B 8CAA
pgsql-jp メーリングリストの案内