■日付期間の取得及びチェック☆環境 ・VS2005 ・VB.NET ・Webアプリ ASP.NET2.0 皆様、お世話になります。下記の問題に直面してしまいましたので、みなさまの知恵をお貸しください。 開始日 終了日 |----------|----------|1|2007/01/01|2007/02/01| |----------|----------|2|2008/02/21|2008/03/01| |----------|----------|3|2007/01/02|2007/02/02| |----------|----------| 上記のような構造のデータがあったと考えて、開始日〜終了日の期間が重複するレコードが存在する場合はエラーとします。この例でいうと、1レコード目と3レコード目は期間が重複しているため、エラーとなります。エラーのチェックの方法ですが、開始日〜終了日 の期間を別のレコード分1件づつループでと比較する方法が思い浮かびますが、判定方法のイメージがつきません。なにか、案があったらご教授いただけませんでしょうか。よろしくお願いいたします。
■No18769 (ooo さん) に返信 > エラーのチェックの方法ですが、開始日〜終了日 の期間を別のレコード分1件づつループでと比較する方法 > が思い浮かびますが、判定方法のイメージがつきません。 「期間が重なる」というアヤフヤな定義ではなく、箇条書きでもいいので 期間が重なる条件を列挙してみたらどうでしょうか。 例) ・「判定元の開始日<=開始日」かつ「判定元の終了日>=開始日」 または ・「・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ または : :
- Child Tree -