查詢SQL表中在範圍內開始/結束的日期,以及屬於該範圍但開始在範圍之前/之後的日期
P粉147747637
P粉147747637 2023-07-21 10:17:02
0
1
557

概述:

我有一個SQL資料庫表,每行(事件)都包含格式為時間戳記的開始和結束日期。

目標:

顯示給定週的事件,這些事件包括在該週內開始和結束的事件,但也可能在該週內進行(它們的開始/結束日期可能在該週內,也可能在該週之前開始並在該週之後結束)。期望結果的範例:

  • 給定的7月16日至7月22日的一周,結果將包括以下事件:
    • 開始和結束於7月16日、7月19日或7月22日的事件。
    • 開始於7月10日並結束於7月19日的事件。
    • 開始於7月19日並結束於7月26日的事件。
    • 開始於7月4日並結束於7月30日的事件。

我已嘗試使用BETWEEN查詢和使用start > {$week_start} AND end < {$week_end}的查詢,但這兩種方法都無法考慮到「重疊」日期。

問題:是否有可能編寫一個包含所有這些情況的單一查詢?

順便說一句,如果有更好的解決方案,我可以接受使用除時間戳之外的日期格式。

P粉147747637
P粉147747637

全部回覆 (1)
P粉222320176

你要找的邏輯是:

start <= {$week_end} AND end >= {$week_start}

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!