【问题标题】:PHP/SQL - Hard SELECT questionPHP/SQL - 硬选择问题
【发布时间】:2009-08-22 02:04:29
【问题描述】:

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

EVENTS - { start_timestamp, end_timestamp }

我的 PHP 应用程序中有两个变量。一个是月初的时间戳,另一个是月底的时间戳。

如果该事件在月份内,我想从事件表中进行选择。不知何故,我需要测试每个事件的开始和结束时间戳的范围以及月份的开始和结束之间的交集。这可能吗?有没有更好的方法来做到这一点?

【问题讨论】:

    标签: php sql


    【解决方案1】:

    如果你想检查一个月内发生的事件,但可能在月初之前开始并在月底之后结束,那么使用这个

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

    但是,我认为您的问题还有很多我不明白,所以如果这还不够,请澄清。

    【讨论】:

    • 如果他试图包含它们,即使它们在月外开始/结束,条件不应该是 ORed 而不是 ANDed?
    • @eidlyon:不,这是正确的。仔细看表达式,必要时画出真值表。唯一错误的结果是 both 时间戳都在月初之前,或者 both 都在月末之后。
    猜你喜欢
    • 2011-09-13
    • 2021-11-29
    • 2012-06-17
    • 1970-01-01
    • 2015-09-27
    • 2015-03-29
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多