2016年以降は表示されないアプリがあります。今後の表示年
同時に、時間が経つにつれて、過去の年を表示する必要があります。例えば
:年2017年
- 、私は2018年には2016年と2017年
- を表示する必要がありますが、私は2016年、2017年を表示する必要があるだろう、と2018年
- などです。
私はこれを達成するために次のコードを開発しました。
あなたはこれをTSQLで実現するためのよりよい方法を知っていますか?
SELECT [Year] FROM (
SELECT YEAR(GETDATE()) AS 'Year'
UNION
SELECT YEAR(DATEADD(year,-1,GETDATE())) AS 'Year' WHERE YEAR(GETDATE()) > 2017
UNION
SELECT YEAR(DATEADD(year,-2,GETDATE())) AS 'Year' WHERE YEAR(GETDATE()) > 2018
UNION
SELECT YEAR(DATEADD(year,-3,GETDATE())) AS 'Year' WHERE YEAR(GETDATE()) > 2019
UNION
SELECT YEAR(DATEADD(year,-4,GETDATE())) AS 'Year' WHERE YEAR(GETDATE()) > 2020
UNION
SELECT YEAR(DATEADD(year,-5,GETDATE())) AS 'Year' WHERE YEAR(GETDATE()) > 2021
UNION
SELECT YEAR(DATEADD(year,-6,GETDATE())) AS 'Year' WHERE YEAR(GETDATE()) > 2022
UNION
SELECT YEAR(DATEADD(year,-7,GETDATE())) AS 'Year' WHERE YEAR(GETDATE()) > 2023
) x
ORDER BY [Year] DESC
なぜTSQLでこれを行うのですか?なぜアプリケーションのコードではないのですか? –