SQL - 获取上个月的数据

时间:2012-11-15 09:41:33

标签: sql sql-server

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

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

随着年底的临近,这将在2013年1月我自动拉到2012年1月吗?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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