我一直在使用这个查询来提取上个月的信息
SELECT *
FROM Member
WHERE DATEPART(m, date_created) = DATEPART(m, DATEADD(m, -1, getdate()))
随着年底的临近,当我在 2013 年 1 月运行它时,这会自动拉到 2012 年 12 月吗?
我一直在使用这个查询来提取上个月的信息
SELECT *
FROM Member
WHERE DATEPART(m, date_created) = DATEPART(m, DATEADD(m, -1, getdate()))
随着年底的临近,当我在 2013 年 1 月运行它时,这会自动拉到 2012 年 12 月吗?
是的。您的 getdate() 函数将在查询运行时给出当前日期。并且您将 -1 添加到月份并比较 date_created 列的月份和上个月。但我认为你也应该做年份的比较。您应该同时添加两个条件月份和年份。
是的,它将提取 12 月的数据。但它会从任何一年中提取 12 月的数据,而不仅仅是 2012 年
是的,它会。DATEADD 是一个 SQL 内部函数,它添加到完整日期,而不仅仅是选定的部分(日、月、年)。