• Here is another way I calculate age.

    SELECT @AGE = ' '+CAST(((datediff(ss, @DOB,GETDATE())) /31536000) AS NVARCHAR(MAX)) +

    ' Years, ' +

    CAST((((datediff(ss, @DOB,GETDATE())) %31536000) /2628000) AS NVARCHAR(MAX)) +

    ' Months, ' +

    CAST((((datediff(ss, @DOB,GETDATE())) %2628000) /86400) AS NVARCHAR(MAX)) +

    ' Days, ' +

    CAST((((datediff(ss, @DOB,GETDATE())) %86400) /3600) AS NVARCHAR(MAX)) +

    ' Hours, ' +

    CAST((((datediff(ss, @DOB,GETDATE())) %3600) /60) AS NVARCHAR(MAX)) +

    ' Minutes, ' +

    CAST(((datediff(ss, @DOB,GETDATE())) %60) AS NVARCHAR(MAX)) +

    ' Seconds '