我正在编写一个查询,在该查询中,我必须仅获取去年的数据。做这件事最好的方法是什么?
SELECT ... FROM ... WHERE date > '8/27/2007 12:00:00 AM'
发布于 2008-08-27 14:12:28
以下代码将在当前日期的基础上添加-1年:
SELECT ... From ... WHERE date > DATEADD(year,-1,GETDATE())
发布于 2013-04-19 02:34:57
我在寻找一个解决方案的时候发现了这个页面,这个解决方案可以帮助我从上一个日历年中选择结果。上面显示的大多数结果似乎返回了过去365天的项目,这对我来说不起作用。
同时,它确实给了我足够的方向来解决我在以下代码中的需求-我在这里张贴给与我有相同需求的其他人,以及在寻找解决方案时可能遇到这个页面的人。
SELECT .... FROM .... WHERE year(*your date column*) = year(DATEADD(year,-1,getdate()))
感谢上面的那些人,他们的解决方案帮助我实现了我需要的东西。
发布于 2008-08-27 14:23:22
好吧,我觉得这里少了点什么。用户希望获取去年的数据,而不是过去365天的数据。这里有很大的不同。在我看来,去年的数据就是2007年的所有数据(如果我现在是2008年的话)。所以正确的答案应该是:
SELECT ... FROM ... WHERE YEAR(DATE) = YEAR(GETDATE()) - 1
然后,如果您想限制此查询,您可以添加一些其他筛选器,但始终搜索上一年。
SELECT ... FROM ... WHERE YEAR(DATE) = YEAR(GETDATE()) - 1 AND DATE > '05/05/2007'
https://stackoverflow.com/questions/30222
复制相似问题