2009-08-22 16 views
0

私はカレンダーアプリケーションを作成しています。イベントテーブルには、開始時刻と終了時刻の2つの列があります。PHP/SQL - 難しい選択質問

EVENTS - { start_timestamp, end_timestamp } 

PHPアプリケーションには2つの変数があります。 1つは月の初めのタイムスタンプであり、もう1つは月末のタイムスタンプです。

イベントが月内にある場合は、イベントテーブルから選択したいと考えています。どういうわけか、私は各イベントの開始と終了のタイムスタンプの範囲と月の始めと終わりの間の交差点をテストする必要があります。これは可能ですか?これを達成するためのより良い方法はありますか?

答えて

4

あなたがヶ月以内に発生するイベントをチェックするために、しかし、月の開始前に開始し、月の終了後に終了することがあり、この

Select * from Events 
where start_timestamp <= MonthEndTimestamp 
and end_timestamp >= MonthStartTimestamp 

を使用したい場合はしかし、私はあると思いますあなたの質問にもっと私は理解していないので、これで十分でない場合は、明確にしてください。

+0

ありがとうございます、これはうまくいくようです。 – JasonV

+0

月の終わりに開始/終了してもそれらを含めることを試みている場合、条件がORされてANDされてはなりませんか? – eidylon

+0

@ eidlyon:いいえ、それは正しいです。表現を注意深く見て、必要に応じて真理値表を描く。偽の唯一の結果は、* both *タイムスタンプがmonth-startの前にあるときか、* both *がmonth-endの後にあるときです。 –

関連する問題