Testato sul classico db Northwind:
	codice:
	  SELECT birthdate, 
    Datediff(Year, birthdate, getdate())
    - CASE WHEN
      Dateadd(Year, Datediff(Year, birthdate, getdate()), 
              birthdate) > getdate()
         THEN 1 ELSE 0
    END AS Anni
  FROM employees
 
Il risultato lo vedi nella tabella sottostante.
Nota che lo script tiene conto anche del giorno e mese di nascita, rispetto all'anno, 
Se usassi solo il primo enunciato senza il CASE:
Datediff(Year, birthdate, getdate()) 
vedresti che il 1° record restituirebbe 62 anni, invece di 61, e sarebbe sbagliato perchè l'impiegato, essendo nato a dicembre, non ha ancora compiuto gli anni.
	codice:
	birthdate		anni
08/12/1948	61
19/02/1952	58
30/08/1963	46
19/09/1937	72
04/03/1955	55
02/07/1963	46
29/05/1960	49
09/01/1958	52
27/01/1966	44
 
 