Thursday, 4 June 2015

convert dob into age in sql

1 . convert(int,datediff(d,dob,getdate())/365.25) as age


2. DECLARE @DOB DATETIME ='12/29/1980'
SELECT @DOB 'Date of Birth', GETDATE() 'Current Date',
   DATEDIFF(YEAR,@DOB,GETDATE())
     -
   (CASE
      WHEN DATEADD(YY,DATEDIFF(YEAR,@DOB,GETDATE()),@DOB)
            >  GETDATE() THEN 1
      ELSE 0 END)
   'Age in Years'

Result:

Date of Birth   Current Date              Age in Years
-------------   -----------------------   ------------
1980-12-29      2012-04-26 10:23:05.690   31
(1 row(s) affected)

3. SELECT FLOOR(DATEDIFF(DAY, @BirthDate, @TargetDate) / 365.25)

No comments:

Post a Comment