建立功能以計算特定日期的人員年齡
此函式將使用 2 個日期時間引數,DOB 和用於檢查年齡的日期
CREATE FUNCTION [dbo].[Calc_Age]
(
@DOB datetime , @calcDate datetime
)
RETURNS int
AS
BEGIN
declare @age int
IF (@calcDate < @DOB )
RETURN -1
-- If a DOB is supplied after the comparison date, then return -1
SELECT @age = YEAR(@calcDate) - YEAR(@DOB) +
CASE WHEN DATEADD(year,YEAR(@calcDate) - YEAR(@DOB)
,@DOB) > @calcDate THEN -1 ELSE 0 END
RETURN @age
END
例如,檢查今天在 2000 年 1 月 1 日出生的人的年齡
SELECT dbo.Calc_Age('2000-01-01',Getdate())