代码与注释如下:
--获取本周数据
select *,DATEPART(W,date1) as weeks from dates wheredatediff(wk,date1,GETDATE())=0;
--不过这样获取的周是以星期日开始的,即包括周日~周六,而不是周一~周日,可以通过相差天数来获取
select * from dates where DATEDIFF(d,date1,GETDATE())>=0 andDATEDIFF(d,date1,GETDATE())<5;
--获取本月数据
select * from dates where DATEDIFF(mm,date1,GETDATE())=0;
--获取本月数据上一月的将0改为1
--获取上一年数据
select * from dates where DATEDIFF(yyyy,date1,GETDATE())=1;
有兴趣的朋友,还可以参考下之前的一篇文章:使用SQL查询昨天、今天、明天和本周等记录的语句 。