[pgsql-jp: 25994] Re: 時間帯検索の重複チェック
Hiroshi Ishiura
issy777 @ entrance-e.com
2002年 5月 16日 (木) 21:58:49 JST
石浦です。
> 中川@東京武蔵野です
>
> その名の通りoverlapsという関数がありますよ。
>
> select
> overlaps(
> '2002/5/16 10:00'::datetime, '2002/5/16 11:00'::datetime,
> '2002/5/16 10:30'::datetime, '2002/5/16 11:00'::datetime ) ;
>
> などと使います。
どうもありがとうございます。こんな特殊なものがあったとはきづきませんでし
た。シーラカンス本を見直すとちゃんとのってますね。
これで実装してみました。
select * from reserve where date='$date' and (start_time,end_time)
overlaps ('$start_time'::time, '$end_time'::time)
これで実装してみたところ見事にできました。だいぶスマートなSQL文になり感
動です。
今回は日をまたがる場合はないので、dateは別にしましたが、日をまたがった場
合は、例であげてもらっているようにdatetimeで指定する形でやるとできるよう
ですね。これは今後いろいろと使えそうです。
ありがとうございました。
>
> 以上
>
> --
> Nakagawa, Yasuharu <yasuharu.nakagawa @ jp.yokogawa.com>
> 中川 康晴 @ 横河電機(株)コンポ事業部室 (PHS:25842)
> Key fingerprint = 4ABF 08D3 BF9B 1CC5 AB0C A30F 6427 1ADB 5C8D 4F14
pgsql-jp メーリングリストの案内