首頁 > 資料庫 > mysql教程 > 如何辨識 MySQL 中重疊的日期範圍?

如何辨識 MySQL 中重疊的日期範圍?

Linda Hamilton
發布: 2025-01-18 08:06:12
原創
132 人瀏覽過

How Can I Identify Overlapping Date Ranges in MySQL?

辨識MySQL中重疊的日期範圍

在MySQL中,可以透過巧妙地反向運用邏輯來判斷指定日期範圍是否與預先定義的日期範圍清單重疊。

以下是一個範例:

<code>1983年6月10日至1983年6月14日
1983年7月15日至1983年7月16日
1983年7月18日至1983年7月18日</code>
登入後複製

如果要檢查日期範圍1983年6月6日至1983年6月18日是否與任何已定義的範圍重疊,我們可以確定以下條件:

不在清單中的時間段:

  • 開始時間晚於比較時間段的結束時間。
  • 結束時間早於比較時間段的開始時間。

透過排除符合這些條件的時間段,我們有效地辨識所有重疊的時間段。

邊界情況:

  • 結束日期等於比較時間段的開始日期。
  • 開始日期等於比較時間段的結束日期。

這些情況需要單獨考慮以確定是否重疊。

以下SQL查詢可用來根據反向邏輯檢索重疊的行:

<code class="language-sql">SELECT *
FROM periods
WHERE range_start = @check_period_start</code>
登入後複製

透過在WHERE子句中使用NOT運算符,原本找出非重疊行的查詢被否定,有效地傳回重疊的行。

以上是如何辨識 MySQL 中重疊的日期範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板