PostgreSQL OVERLAPSで日付の重複をチェックするサンプル
環境
Windows 10 home 64bit
PostgreSQL 9.6.5
構文
( start1, end1 ) OVERLAPS ( start2, end2 )
( start1, length1 ) OVERLAPS ( start2, length2 )
この式は、2つの時間間隔が重なる(その終端で定義されます)時に真を返します。 重ならない場合は偽を返します。
終端は日付、時刻、タイムスタンプ、もしくは、日付/時刻/タイムスタンプに続く時間間隔で指定されます。
使用例1
SELECT (DATE '2021-02-16', DATE '2021-12-21') OVERLAPS (DATE '2021-10-29', DATE '2022-10-29');
結果 true
使用例2
SELECT (DATE '2021-02-16', INTERVAL '100 days') OVERLAPS (DATE '2021-10-30', DATE '2022-10-30');
結果 false