首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server:仅获取过去一年的数据

SQL Server:仅获取过去一年的数据
EN

Stack Overflow用户
提问于 2008-08-27 14:10:50
回答 7查看 357.3K关注 0票数 115

我正在编写一个查询,在该查询中,我必须仅获取去年的数据。做这件事最好的方法是什么?

代码语言:javascript
运行
复制
SELECT ... FROM ... WHERE date > '8/27/2007 12:00:00 AM'
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-08-27 14:12:28

以下代码将在当前日期的基础上添加-1年:

代码语言:javascript
运行
复制
SELECT ... From ... WHERE date > DATEADD(year,-1,GETDATE())
票数 230
EN

Stack Overflow用户

发布于 2013-04-19 02:34:57

我在寻找一个解决方案的时候发现了这个页面,这个解决方案可以帮助我从上一个日历年中选择结果。上面显示的大多数结果似乎返回了过去365天的项目,这对我来说不起作用。

同时,它确实给了我足够的方向来解决我在以下代码中的需求-我在这里张贴给与我有相同需求的其他人,以及在寻找解决方案时可能遇到这个页面的人。

代码语言:javascript
运行
复制
SELECT .... FROM .... WHERE year(*your date column*) = year(DATEADD(year,-1,getdate()))

感谢上面的那些人,他们的解决方案帮助我实现了我需要的东西。

票数 13
EN

Stack Overflow用户

发布于 2008-08-27 14:23:22

好吧,我觉得这里少了点什么。用户希望获取去年的数据,而不是过去365天的数据。这里有很大的不同。在我看来,去年的数据就是2007年的所有数据(如果我现在是2008年的话)。所以正确的答案应该是:

代码语言:javascript
运行
复制
SELECT ... FROM ... WHERE YEAR(DATE) = YEAR(GETDATE()) - 1

然后,如果您想限制此查询,您可以添加一些其他筛选器,但始终搜索上一年。

代码语言:javascript
运行
复制
SELECT ... FROM ... WHERE YEAR(DATE) = YEAR(GETDATE()) - 1 AND DATE > '05/05/2007'
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档