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

前端 未结 30 2066
死守一世寂寞
死守一世寂寞 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:47

    We used something like here, but then taking the average age:

    ROUND(avg(CONVERT(int,DATEDIFF(hour,DOB,GETDATE())/8766.0)),0) AS AverageAge
    

    Notice, the ROUND is outside rather than inside. This will allow for the AVG to be more accurate and we ROUND only once. Making it faster too.

提交回复
热议问题