0
記念日の月を処理するときにストアドプロシージャでいくつかの異なるロジックを実行しようとしています。 IF(anniversary = MONTH(x))
を使用すると、1か月間しか処理されない場合でも正常に動作します。記念日の月が月の範囲内にあるかどうかをチェック
ただし、複数の月を処理する場合、記念月が開始月と終了月の間にある場合は、異なるロジックを実行する必要があります。 IF(anniversary BETWEEN MONTH(x) AND MONTH(y))
は新年(9月〜1月)には適用されません。
現在、記念日フィールドはMONTH(contract_start)
として生成されていますが、以前はMONTHNAME()
を使用していました(理由は分かりません)。
anniversary
は、IF関数をより読みやすくするためにブール値にすることをお勧めします。