i have app cannot display year past 2016 in drop down.
at same time, , time goes on, need display past years.
for example:
- in year 2017, need display 2016 , 2017.
- in year 2018, need display 2016, 2017, , 2018.
- and on
so have developed following code accomplish this.
do know of better way accomplish in tsql?
select [year] ( select year(getdate()) 'year' union select year(dateadd(year,-1,getdate())) 'year' year(getdate()) > 2017 union select year(dateadd(year,-2,getdate())) 'year' year(getdate()) > 2018 union select year(dateadd(year,-3,getdate())) 'year' year(getdate()) > 2019 union select year(dateadd(year,-4,getdate())) 'year' year(getdate()) > 2020 union select year(dateadd(year,-5,getdate())) 'year' year(getdate()) > 2021 union select year(dateadd(year,-6,getdate())) 'year' year(getdate()) > 2022 union select year(dateadd(year,-7,getdate())) 'year' year(getdate()) > 2023 ) x order [year] desc
try this, generate list of year 2016 current year
with cte_test as( select 2016 nyear union select nyear+1 cte_test nyear+1 <= year(getdate()) ) select * cte_test
Comments
Post a Comment