我希望能够计算某物是否在一个范围内并返回所有结果。
我们有一张安排每周活动的桌子。表的每一行都有一个唯一的 id、一个天数和一个小时数。
id (auto int) | dayNumber (int from 0 to 6) | hourNumber (int from 0 to 23)
根据此表,我们可以确定事件应该在计划中发生的时间。例如,dayNumber=2 和 hourNumber=3 的条目表示活动安排在周二凌晨 3 点。
我发现困难的部分是我需要运行查询以获取一系列预定事件。所以我将传入最小的 dayNumber 和 hourNumber 以及最大的 dayNumber 和 hourNumber。我的预期结果将是该范围内的每个匹配条目。
更简单的情况是最小值小于最大值。例如(在 PHP 中),
$minimumDayNumber = 1; $minimumHourNumber = 3;
$maximumDayNumber = 5; $maximumHourNumber = 6;
当我想搜索从星期六到星期二的范围时,情况变得更加复杂。为此,变量看起来像这样: $minimumDayNumber = 6; $minimumHourNumber = 3; $maximumDayNumber = 2; $maximumHourNumber = 6;
使用这些输入,我需要查询数据库并找到该范围内的所有条目。必须有一个好的算法来构造查询或一个好的查询来相当直接地做到这一点。
这在纸上似乎很容易,我已经用日期范围(实际日期字段)完成了它,但我无法让它正常工作。提前感谢您的帮助,如果您需要进一步说明,请告诉我。