テクノロジー

SQL で区間同士の重なり(interval overlap)を一発で判定する方法

1: sbrtnpg 2026/03/11 07:01

"区間Aを固定して、区間Bの区間Aとの関係を考えると、区間時系列データ同士の関係は次の6パターンに分けられることが分かります。"

2: n_231 2026/03/11 07:25

終わるまでに始まり、始まったのちに終わっている。結果見ると簡単だけど、初見で書こうとすると頭使うよね。

3: fusionstar 2026/03/11 08:46

一度は線を引いて考えるよね。 PostgreSQL など一部のデータベースでは OVERLAPS 演算子がある。

4: chankuri 2026/03/11 09:18

まさに論理学だなぁと言う感じ

5: dorokei 2026/03/11 10:02

サービスの課金の仕組み実装しているときに、プランとかキャンペーンとかオプションとかごっちゃになったときに紙に書き出して考えたの思い出す

6: NetPenguin 2026/03/11 10:11

当たり判定の条件式を思い出す

7: suka6411144 2026/03/11 11:00

逆に重ならないケースの方が条件を考えやすいからその否定にするみたいにすると考えやすいよね

8: fa11enprince 2026/03/11 12:27

これは重なり判定の定石だから覚えておいたほうがいいやつ

9: kagehiens 2026/03/11 13:11

あるポイントの時刻情報だけを持ったイベントデータの集合同士が重なっているかどうか、を判定する話かと思った

10: hdampty7 2026/03/11 16:32

医学部生がSQLを考える時代なのか。皆マルチですごいね。こういうの考えるの面倒くさいから一晩集中して考えて設計し尽くす感じ。