Nota:l'ho modificato per correggere quello che ritengo fosse un bug significativo. La versione attualmente pubblicata funziona per me.
Questo dovrebbe funzionare dopo aver modificato i nomi dei campi e delle tabelle in modo che corrispondano al tuo database.
SELECT
BRTHDATE AS BIRTHDAY
,FLOOR(DATEDIFF(dd,EMP.BRTHDATE,GETDATE()) / 365.25) AS AGE_NOW
,FLOOR(DATEDIFF(dd,EMP.BRTHDATE,GETDATE()+7) / 365.25) AS AGE_ONE_WEEK_FROM_NOW
FROM
"Database name".dbo.EMPLOYEES EMP
WHERE 1 = (FLOOR(DATEDIFF(dd,EMP.BRTHDATE,GETDATE()+7) / 365.25))
-
(FLOOR(DATEDIFF(dd,EMP.BRTHDATE,GETDATE()) / 365.25))
Fondamentalmente, ottiene il numero di giorni dal loro compleanno ad oggi e lo divide per 365 (per evitare problemi di arrotondamento che si verificano quando si converte direttamente in anni).
Quindi ottiene il numero di giorni dal loro compleanno a una settimana da adesso e lo divide per 365 per ottenere la loro età tra una settimana.
Se il loro compleanno è entro una settimana, la differenza tra questi due valori sarà 1. Quindi restituisce tutti quei record.