A: 

I found this on Google: SELECT FLOOR(DATEDIFF(DAY, @BirthDate, @TargetDate) / 365.25)

Where @TargetDate is the date of today (GETDATE() in TSQL).

Good luck :)

Snake
This simple but not precise. For example a person born on 29 -May-1992 would be 17 on 29-May-2009, but this formula returns 16.See my URL http://social.msdn.microsoft.com/forums/en-US/transactsql/thread/399a7e87-bc78-47a5-8cc2-2d2436886fd7/
Daveo
A: 

From here:

SELECT DATEDIFF(hour,@dob,GETDATE())/8766 AS AgeYearsIntTrunc
Mark Byers