AccessのSQLでDateAdd関数と日付を比較すると『比較条件の型が一致しません』とのエラー
お世話になります。
MicrosoftAccess2010でSQLを記述しているときに、現在の日時(NOW()
)と、日付フィールドの値をDATEADD
で加算した日付を比較すると、『比較条件の型が一致しません』とのエラーになります。
DATEADD関数が返す値は日付型だったと思うのですが、これがなぜエラーなのかが解りません。
原因と対策をお教えいただけますでしょうか。
記述はこのようになっています。
SELECT * FROM tmp1 WHERE NOW() < DATEADD('m',7,visited_dt<日付型のフィールドyyyy/mm/dd hh:nn:ssの形式>)
↑失敗
SELECT * FROM tmp1 WHERE NOW() < visited_dt
↑これならOK、まぁ当たり前ですが。
SELECT * FROM tmp1 WHERE NOW() < CDATE(DATEADD('m',7,visited_dt))
↑これもNG。エラー内容は同じ
UPDATE tmp1 SET a = DATEADD('m',7,visited_dt)
SELECT * FROM tmp1 WHERE NOW() < a
↑二回に分けて行った結果、これならOK。
よろしくお願いいたします。