sql server查詢2010年到當前年的年份列表


1.函數

CREATE FUNCTION GetYears(@beginYear int)
returns @temptale table (text char(4) ,value int)
BEGIN
declare @now datetime = DATEADD(YEAR,1,getdate())
declare @nowChar char(4) = CONVERT(char(4),@now,120)
declare @nowInt int = CONVERT(char(4),@now,120)

while(@nowInt>=@beginYear)
begin
insert into @temptale select @nowChar,@nowInt

set @now = dateadd(year,-1,@now)
set @nowChar = CONVERT(char(4),@now,120)
set @nowInt = CONVERT(char(4),@now,120)
end

return
END


select * from GetYears(2010)

2.臨時表

IF OBJECT_ID(N'tempdb.dbo.#PatientList') IS NOT NULL
DROP TABLE #PatientList;

DECLARE @year INT
SET @year = 2010;
CREATE TABLE tempdb.dbo.#PatientList
(
year INT
)

WHILE @year <= YEAR(GETDATE())+1
BEGIN
INSERT INTO #PatientList
(
year
)
VALUES
(@year -- year - int
)
SET @year = @year+1;
END
SELECT * FROM #PatientList;
DROP TABLE #PatientList;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM