How to calculate age (in years) based on Date of Birth and getDate()

前端 未结 30 2070
死守一世寂寞
死守一世寂寞 2020-11-22 02:08

I have a table listing people along with their date of birth (currently a nvarchar(25))

How can I convert that to a date, and then calculate their age in years?

30条回答
  •  长情又很酷
    2020-11-22 02:46

    How about this:

    SET @Age = CAST(DATEDIFF(Year, @DOB, @Stamp) as int)
    IF (CAST(DATEDIFF(DAY, DATEADD(Year, @Age, @DOB), @Stamp) as int) < 0) 
        SET @Age = @Age - 1
    

提交回复
热议问题