The road to C# master trapemiya

C#を中心に、.NETの話題を取り上げます。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  256  : 記事  1  : コメント  10763  : トラックバック  30

ニュース

Since 2005年10月26日

わんくま同盟

わんくま同盟

Microsoft MVP


Visual Developer - Visual C#

記事カテゴリ

書庫

日記カテゴリ

例えば契約期間が抽出条件で指定された期間と重なっているかどうかを調べるには、

契約期間開始日 <= 抽出期間終了日 and 契約期間終了日 >= 抽出期間開始日

というのはよく使うのですが、

(契約期間開始日と抽出期間開始日の大きい方) <= (契約期間終了日と抽出期間終了日の小さい方)

というのでも可能です。後者の方が比較の数が多く効率が悪いので考えたこともなかったのですが、メリットとしては重なっている期間を得ることができます。逆に言えば、抽出条件に指定するだけなら後者の出番はないと思うんですが、たまにwhere句で見かけます。

投稿日時 : 2008年3月24日 14:10

コメント

# re: ある期間が他の期間と重なっているかを調べるには? 2008/03/24 15:40 凪瀬
アレだ。矩形の衝突判定の仕方と同じですね。
http://blogs.wankuma.com/nagise/archive/2007/08/05/88902.aspx

# re: ある期間が他の期間と重なっているかを調べるには? 2008/03/24 23:30 trapemiya
ほんとですね。1次元を2次元の平面に変えただけで考え方は全く同じですね。3次元でもいけそう。勉強になりました。

Post Feedback

タイトル
名前
Url:
コメント