我正在处理日期被声明为整数的查询,这意味着收入报告可以记录x个月/年的最后6个月。所以用户输入说的是10(oct),2014。我想要的是它要回到6个月(10-6)并显示该范围内的所有记录。我认为它会像csr.csrdatepulled> = dateadd(mm,-6。@ month) - 但我不认为这是有效的,因为它们是整数。现在它只捕获那个月,但不是中间。是否有办法将月份和年份声明为整数?在此先感谢,这是一个精简的查询 -
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
答案 0 :(得分:0)
构建一个完整的日期(月份和年份的第1天)扣除6个月并获取> =到它的行
WHERE
csr.CsrDatePulled >= DATEADD(MONTH, @MONTH - 1 - 6, DATEADD(YEAR, @YEAR - 1900, 0))