我有代码将数据撤回到上个月的最后一天,但我想要过去2年完整月份的记录,即2013年3月 - 2015年3月所以我需要从2013年3月1日开始限制代码
这是我到目前为止所拥有的
select * from table where Date <= DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
答案 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