我在尝试从 MS Access 转换的查询时遇到问题。当记录超过 90 天时,查询会标记要删除的记录,但是当我将此查询转换为 sql server 时,删除的记录太多。
UPDATE DT.SM_T_CountTotals
SET IsActive = 0
WHERE Convert(varchar, DT.SM_T_CountTotals.PostDate, 101) <
Convert(varchar, GetDate()- 90, 101)
当我在 MS Access 中运行此查询时,我总共得到 3793 条已标记的记录,但在 SQL Server 中,我得到 69061 条已标记为删除的记录。GetDate()-90 值在 2010 年 10 月 26 日是正确的,但它标记了从今年开始删除的所有内容。
我确信这是一件容易被我忽略的事情。请帮忙?
我想到了:
UPDATE DT.SM_T_CountTotals
SET IsActive = 0
WHERE DT.SM_T_CountTotals.PostDate < Convert(varchar, GetDate()- 90, 101)