期間の重なるレコードを取得するSQL
たまにある期間の重なるレコードを取得するやつ
where ( from_column >= :from and from_column <= :to ) or ( from_column < :from and to_column >= :from )
「:toが与えられない場合は無期限」 とかは力技で
if( :to == "" ){ :to = 9999-12/31 }
とかするのが楽。
あとは仕様によって適宜追加する
例えばこんなの
or ( to_column is null and from_column <= :to )