我正试图通过本财政年度的所有数据。 请参阅下面的代码。
select *
FROM dbo.vw_AN_Admin_VendorReturns
where
case month(getdate()) <4 -- If current month is less than April (old financial year)
year(RtnDt) = year(getdate()) and month(RtnDt) <4 or year(RtnDt) = year(getdate())-1 and month(RtnDt) >3
case month(getdate()) >3 -- If current month is more than March (New financial year)
year(RtnDt) = year(getdate()) and month(RtnDt) >3 or year(RtnDt) = year(getdate())+1 and month(RtnDt) <4
end
答案 0 :(得分:0)
Krishn,根据您的简要说明,这可以解决您的问题。
select *
from dbo.vw_AN_Admin_VendorReturns
Where
Case
When Month(getdate())<4
Then Year(getdate())-1
Else
Year(getdate())
End
=
Case
When Month(RtnDt)<4
Then Year(RtnDt)-1
Else Year(RtnDt)
End
答案 1 :(得分:0)
据我了解你的问题,你可能正在寻找这些公式。
declare @toDate datetime = dateadd(day, -day(GETDATE()), GETDATE())
declare @fromDate datetime = dateadd(year, -1, @toDate)
只需将当前日期减去天数即可获得前一个月的最后一天,并将该日期减少一年即可获得1年的期限。
select
D.*
from mydata D
where D.RtnDt > @fromDate and D.RtnDt <= @toDate
您不必声明变量,只是为了更好的阅读。 希望这会有所帮助。