| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「VB 有効期間に含まれるデータを判定」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
 
==有効期間に含まれるデータを判定==
 
==有効期間に含まれるデータを判定==
[[VB]]{{category ロジック}}
+
[[VB]] | [[Category:ロジック]]
  
 
有効期間[開始日(sd)~終了日(ed)]を持つデータに対し、
 
有効期間[開始日(sd)~終了日(ed)]を持つデータに対し、
 
ある範囲[開始日(tsd)~終了日(ted)]に有効か否かを判定する。
 
ある範囲[開始日(tsd)~終了日(ted)]に有効か否かを判定する。
  
概念図
+
[[概念]]図
 
  '
 
  '
 
  '    tsd                        ted
 
  '    tsd                        ted
26行目: 26行目:
 
   End If
 
   End If
  
SQL
+
[[SQL]]
 
       sd  between tsd and ted
 
       sd  between tsd and ted
 
   or  ed  between tsd and ted
 
   or  ed  between tsd and ted
 
   or  tsd between sd  and ed
 
   or  tsd between sd  and ed
 
   or  ted between sd  and ed
 
   or  ted between sd  and ed

2020年2月16日 (日) 04:33時点における最新版

有効期間に含まれるデータを判定

VB |

有効期間[開始日(sd)~終了日(ed)]を持つデータに対し、 ある範囲[開始日(tsd)~終了日(ted)]に有効か否かを判定する。

概念

'
'     tsd                        ted
'     |-------------------------|           ' 対象範囲
'                                           ' --- 生存範囲
'  sd     ed               sd       ed      ' === 該当範囲
'1:+---====+               2:+===------+
'           sd            ed
'         3:+==============+
'  sd                               ed
'4:+---==========================----+
'
'

判定

 If ( tsd <= ed  And ed  <= ted ) _      'data 1, data 3
 Or ( tsd <= sd  And sd  <= ted ) _      'data 2, data 3
 Or ( sd  <= tsd And ted <= ed ) Then    'data 4
       ' 有効範囲にあるデータ
 End If

SQL

     sd  between tsd and ted
 or  ed  between tsd and ted
 or  tsd between sd  and ed
 or  ted between sd  and ed