1

我一直在使用这个查询来提取上个月的信息

SELECT * 
FROM Member
WHERE DATEPART(m, date_created) = DATEPART(m, DATEADD(m, -1, getdate()))

随着年底的临近,当我在 2013 年 1 月运行它时,这会自动拉到 2012 年 12 月吗?

4

3 回答 3

1

是的。您的 getdate() 函数将在查询运行时给出当前日期。并且您将 -1 添加到月份并比较 date_created 列的月份和上个月。但我认为你也应该做年份的比较。您应该同时添加两个条件月份和年份。

于 2012-11-15T09:44:49.257 回答
1

是的,它将提取 12 月的数据。它会从任何一年中提取 12 月的数据,而不仅仅是 2012 年

于 2012-11-15T09:45:38.747 回答
1

是的,它会。DATEADD 是一个 SQL 内部函数,它添加到完整日期,而不仅仅是选定的部分(日、月、年)。

于 2012-11-15T09:47:08.567 回答