我正在处理一个查询,其中的日期被声明为整数,这意味着一个收入报告,捕捉过去6个月从x个月/年。例如,2014年10月10日,用户输入信息。我想要的是它6个月前(10-6),并显示在这个范围内的所有记录。我认为它应该类似于csr.csrdatepulled >= dateadd(mm,-6.@month) --但是我认为这是不可行的,因为它们是整数。现在它只会捕捉到那个月,但不是中间的。有什么方法可以通过月和年声明为ints来完成这个任务吗?谢谢,这是一个精简的查询-
declare
@Month int,
@Year int
Set @Month = 10
Set @Year = 2014
select csr.csrdatepulled
from CustomServicesForRevenue csr
where DatePart(MM,csr.CsrDatePulled) = @Month and DatePart(yyyy,csr.CsrDatePulled) = @Year
order by csr.CsrDAtepulled desc发布于 2014-11-11 14:38:00
构造一个完整的日期(月&年的第一天),减去6个月,并获取>=到它的行
WHERE
csr.CsrDatePulled >= DATEADD(MONTH, @MONTH - 1 - 6, DATEADD(YEAR, @YEAR - 1900, 0))https://stackoverflow.com/questions/26867127
复制相似问题