日付から 18 か月を減算する際に奇妙な問題があります。次のスニペットを検討してください。
Convert(dateTime,CREATION_DATE,103) >
DateAdd (MONTH, -18, Convert (DateTime, @IN_ACTIVITY_DATE, 103))
これは、ストアド プロシージャの where 句の一部を形成します。私が実行すると:
exec theSP @IN_ACTIVITY_DATE = '21/02/2013'
正常に動作しますが、これに変更すると:
exec theSP @IN_ACTIVITY_DATE = '21/01/2013'
エラーで壊れます:
varchar データ型を datetime データ型に変換すると、範囲外の値になりました。
私のコードを壊しているのが1月(他のすべての月は問題ありません)である理由について誰か考えがありますか?
ありがとう。
DS