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

PostgreSQL

Posted by arkgame