CREATE FUNCTION [dbo].[fn_CalcAge] ( @pDateOfBirth DATETIME, @pAsOfDate DATETIME )RETURNS INTASBEGIN DECLARE @vAge INT IF @pDateOfBirth >= @pAsOfDate RETURN 0 SET @vAge = DATEDIFF(YY, @pDateOfBirth, @pAsOfDate) IF MONTH(@pDateOfBirth) > MONTH(@pAsOfDate) OR (MONTH(@pDateOfBirth) = MONTH(@pAsOfDate) AND DAY(@pDateOfBirth) > DAY(@pAsOfDate)) SET @vAge = @vAge - 1 RETURN @vAgeENDGO