MySQL で重複する日付範囲を特定する方法?
MySQL で重複する日付範囲を特定する
問題:
イベント セッションとそれぞれの開始日と終了日。セッション間で競合が発生しないようにすることを目指しています。具体的には、指定された日付範囲内で新しいセッションを挿入しようとするときに、重複するセッションを検索します。
クエリ:
潜在的な競合を特定するには、次のクエリ:
SELECT * FROM session WHERE "2010-01-05" BETWEEN start_date AND end_date OR "2010-01-25" BETWEEN start_date AND end_date OR "2010-01-05" >= start_date AND "2010-01-25" <= end_date;
クエリ:
このクエリは、重複の可能性を示す 3 つの条件をチェックします:
- 提案された開始日 (「2010-01-05」) が既存のセッションの範囲内にある場合日付範囲 (開始日と終了日の間)。
- 提案された終了日の場合(「2010-01-25」) は、既存のセッションの日付範囲 (開始日と終了日の間) 内にあります。
- 提案された日付範囲 (「2010-01-05」から「2010-01-25」まで) の場合") が既存のセッションの日付範囲 (>= start_date AND <=) と完全に重複しています。 end_date).
代替アプローチ:
正確な結果を保証する代替クエリ:
SELECT * FROM session WHERE new_start < existing_end AND new_end > existing_start;
説明:
このクエリは、4 つの要素に基づく論理評価を利用します。変数:
- new_start: 提案されたセッションの開始日 ("2010-01-05")。
- new_end: 提案されたセッションの終了日 ("2010-01 -25").
- existing_start: 既存のサービスの開始日session.
- existing_end: 既存のセッションの終了日。
新しいセッションの開始日が既存のセッションの終了日より前である場合、クエリは重複するセッションを返します。新しいセッションの終了日は、既存のセッションの開始日より後です。
以上がMySQL で重複する日付範囲を特定する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
