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

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

    This will correctly handle the issues with the birthday and rounding:

    DECLARE @dob  datetime
    SET @dob='1992-01-09 00:00:00'
    
    SELECT DATEDIFF(YEAR, '0:0', getdate()-@dob)
    

提交回复
热议问题