sql >> データベース >  >> RDS >> Mysql

MySQLで日付範囲の重複を確認する

    私はかつて書いたカレンダーアプリケーションでそのようなクエリをしました。私は次のようなものを使用したと思います:

    ... WHERE new_start < existing_end
          AND new_end   > existing_start;
    

    更新 これは間違いなく機能するはずです((ns、ne、es、ee)=(new_start、new_end、existing_start、existing_end)):

    1. ns --ne --es --ee:重複せず、一致しません(ne
    2. ns --es --ne --ee:重複して一致
    3. es --ns --ee --ne:重複して一致
    4. es --ee --ns --ne:重複せず、一致しません(ns> eeのため)
    5. es --ns --ne --ee:重複して一致
    6. ns --es --ee --ne:重複して一致

    これがフィドル です。



    1. PL/SQLパッケージレベルのレコードタイプに関するメタデータ

    2. SQLを使用して連続する日付範囲を検出する

    3. ボリュームを使用してドッキングされたpostgresデータベースにデータを永続化する方法

    4. ディメンションのディメンション:データウェアハウスの最も一般的なディメンションテーブルタイプの概要