SQL从一年前的第一天到今天检索数据

时间:2016-10-17 14:17:44

标签: sql sql-server

据我所知,您已经可以使用DATEADD(year,-1,GETDATE())获取去年的信息,但我想从一年前的那个月的第一天开始搜索。所以,例如,今天是2016年10月17日。我想从2015年11月1日开始搜索。我该如何格式化?

1 个答案:

答案 0 :(得分:1)

select * 
from
where datefield>=
dateadd(year,-1,
DATEADD(month, DATEDIFF(month, 0, getdate()), 0)--gives first date of month
)

或从2012年开始:您可以使用Alex在评论中提到的DATEFROMPARTS

select DATEFROMPARTS(YEAR(GETDATE()) - 1, MONTH(GETDATE()), 1)