过去2年的记录 - 完整月份

时间:2015-04-17 08:56:31

标签: sql sql-server

我有代码将数据撤回到上个月的最后一天,但我想要过去2年完整月份的记录,即2013年3月 - 2015年3月所以我需要从2013年3月1日开始限制代码

这是我到目前为止所拥有的

select * from table where Date <= DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))

1 个答案:

答案 0 :(得分:2)

根据@CurrentDate中传递的当前日期,您可以根据下面的sql获取上个月的最后日期和2年前的日期

DECLARE @CurrentDate DATE = CURRENT_TIMESTAMP
DECLARE @LastMonthEOMDate DATE
DECLARE @TwoYearOldDate DATE

SET @LastMonthEOMDate = DATEADD(DAY,-DATEPART(day,@CurrentDate),@CurrentDate)
SET @TwoYearOldDate = DATEADD(YEAR,-2,@LastMonthEOMDate)

SELECT @CurrentDate,@LastMonthEOMDate,@TwoYearOldDate


select * from table where Date >= @TwoYearOldDate AND Date <= @LastMonthEOMDate