从本月SQL获取去年的数据

时间:2018-08-13 10:26:36

标签: sql sql-server

我的数据库表的单独列中有年份和月份。(例如Year 2017,Month 8),我需要过滤该数据,因为我需要今天的过去一年的数据。我希望返回13个月的数据。

  
    

如果今天是2018年8月13日,并且我仅需要从8/2017到8/2018的数据。

  

我这样尝试过

SELECT Year,Month,News
FROM TBL_NEWS
WHERE Year >= cast(datepart(yyyy,DATEADD(yyyy,-1,getdate()))

1 个答案:

答案 0 :(得分:2)

您已将日期分为两列。那可能很棘手。这是12个月数据的一种方法:

where datefromparts(year, month, 1) >= datefromparts(year(getdate()) - 1, month(getdate()), 1) and
      datefromparts(year, month, 1) < datefromparts(year(getdate()), month(getdate()), 1)

如果您实际上需要13个月的数据,请将<更改为<=