日付の範囲

EDBにおける日付の指定は,

西暦0000年00月00日〜西暦9999年99月99日
の範囲とする.西暦年は必ず4桁で記述する.このうち,
西暦0000年00月00日…無限の過去を示す.
西暦9999年99月99日…無限の未来を示す.
は特別扱いとする.また,この範囲外の日付が指定された場合には,上記の範囲の最も近い日付に置き換えられる.

上述の規定は,日付属性の値(DATE)に対して,ある日付(date)以前,以降という条件で検索を行う場合に

0 <= DATE AND DATE <= date
date <= DATE AND DATE <= 99999999
のような検索式が記述される可能性を示している.

一方,期間を記述する場合に,終了日が未定の場合には,

西暦YYYY年MM月DD日〜西暦9999年99月99日
と指定するべきであることを示唆している.

存在しない日付の扱い

何らかの目的により,[date1, date2] で指定された期間を正確な期日に変換する場合には,[date1, date2] の期間内における最小の実存の日付と最大の実存の日付に変換されるべきものとして扱う.

datemeandate1date2
YYYY年0月0日 YYYY年の最初を表す. YYYY年1月1日 YYYY-1年12月31日
YYYY年99月99日 YYYY年の最後を表す. YYYY+1年1月1日 YYYY年12月31日
YYYYMM月0日 YYYYMM月の最初を表す. YYYYMM月1日 YYYYMM-1月28,29,30 or 31日
YYYYMM月99日 YYYYMM月の最後を表す. YYYYMM+1月1日 YYYYMM月28,29,30 or 31日
混乱を避けるために,99月99日,99日はdate1に指定すべきではない. 同様に,0月0日,0日はdate2に指定すべきではない.