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

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

    Just check whether the below answer is feasible.

    DECLARE @BirthDate DATE = '09/06/1979'
    
    SELECT 
     (
     YEAR(GETDATE()) - YEAR(@BirthDate) - 
     CASE  WHEN (MONTH(GETDATE()) * 100) + DATEPART(dd, GETDATE()) >     
     (MONTH(@BirthDate) * 100) + DATEPART(dd, @BirthDate)
     THEN 1             
     ELSE 0             
     END        
     )
    

提交回复
热议问题