値が範囲内にあるかどうかを確認する必要がありますが、範囲の両端がNULL
でないことを保証することはできません。この場合の値は整数です。 「mo
は、」現在、私は単純にSQLブール条件
WHERE (r.year BETWEEN mo.startyear AND mo.endyear >= r.year)
OR (mo.startyear <= r.year AND mo.endyear IS null)
OR (mo.startyear IS null AND mo.endyear IS null)
OR (mo.startyear IS null AND mo.endyear >= r.year)
を以下している雇用
を表し、これはmo
をチェックするための唯一の方法であるが、特定の年に「採用」だった(r
)のデフォルト値を設定し
と考えることができる最もコンパクトな形です。たぶん、これ以上簡単にこれを行うことはできません – AlasdairC