创建功能以计算特定日期的人员年龄
此函数将使用 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())