PHP/SQL-硬选择问题

PHP/SQL-硬选择问题,php,sql,Php,Sql,我正在创建一个日历应用程序。在Events表中,有两列,即开始和结束时间戳 EVENTS - { start_timestamp, end_timestamp } 我的PHP应用程序中有两个变量。一个是月初的时间戳,另一个是月末的时间戳 我想从事件表中选择该事件是否在该月内。不知何故,我需要测试每个事件的开始时间戳和结束时间戳的范围以及月初和月末之间的交集。这可能吗?是否有更好的方法来完成此任务?如果您想检查当月发生的事件,但可能在月初之前开始,在月底之后结束,请使用此方法 Select *

我正在创建一个日历应用程序。在Events表中,有两列,即开始和结束时间戳

EVENTS - { start_timestamp, end_timestamp }
我的PHP应用程序中有两个变量。一个是月初的时间戳,另一个是月末的时间戳


我想从事件表中选择该事件是否在该月内。不知何故,我需要测试每个事件的开始时间戳和结束时间戳的范围以及月初和月末之间的交集。这可能吗?是否有更好的方法来完成此任务?

如果您想检查当月发生的事件,但可能在月初之前开始,在月底之后结束,请使用此方法

Select * from Events 
where start_timestamp <= MonthEndTimestamp 
and end_timestamp >= MonthStartTimestamp
从事件中选择*
其中开始时间戳=月开始时间戳

但是,我想你的问题还有很多我不明白的地方,因此如果这还不够,请澄清。

如果你想检查本月内发生的事件,但可能在本月初之前开始,在本月底之后结束,请使用此选项

Select * from Events 
where start_timestamp <= MonthEndTimestamp 
and end_timestamp >= MonthStartTimestamp
从事件中选择*
其中开始时间戳=月开始时间戳

但是,我想你的问题还有很多我不明白的地方,所以如果这还不够,请澄清。

如果他试图将这些条件包括在内,即使它们在月外开始/结束,条件是否应该被OR而不是AND?@eidlyon:不,这是正确的。仔细观察表达式,必要时绘制真值表。唯一错误的结果是两个时间戳都在月开始之前,或者都在月结束之后。如果他试图将它们包括在内,即使它们在月外开始/结束,条件是否应该被or而不是AND?@eidlyon:不,这是正确的。仔细观察表达式,必要时绘制真值表。唯一错误的结果是两个时间戳都在月开始之前,或者都在月结束之后。