[pgsql-jp: 25981] Re: 時間帯検索の重複チェック

koumei2 @ 104.net koumei2 @ 104.net
2002年 5月 16日 (木) 16:46:14 JST


はじめまして。K2です。

On Thu, 16 May 2002 16:20:55 +0900
Hiroshi Ishiura <issy777 @ entrance-e.com> wrote:

> 施設予約スケジュールのようなもの作っており、
> 施設予約時間の重複チェックでいいSQL文が思いつきません。
> 
> 例えばreserveテーブルに以下のデータが入っていた場合
> date	   |start_time|end_time
> -----------------------
> 2002-05-16 | 10:00:00  |13:00:00
> 
> そしてフォームより次の入力がされた場合
> 2002-05-16 | 10:30:00  |12:00:00	A
> 2002-05-16 | 13:00:00  |15:00:00	B
> 2002-05-16 | 12:00:00  |14:00:00	C
> 2002-05-16 | 09:30:00  |11:00:00	D
> 
> 現状
> select * from reserve where date='$s_date' and start_time <= '$datetime'
> and end_time >='$datetime'

いまいち $s_date とか $datetime が何を表しているのかよく分からない
ので外しているかもしれませんが、以下のような感じで如何でしょう?
$s_time を開始時刻、 $e_time を終了時刻とします。

select * from reserve where date='$s_date' and end_time > '$s_time' and 
'$e_time' > start_time;

でも、その前に start_time と end_time を timestamp 型にした方がいい
と思います。
上の SQL でも日付がまたがるような予約についてはダメですし。


 ---
K2
Email: koumei2 @ 104.net
URL: http://koumei2.flets.cds.ne.jp:2080/




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