SQL Select Upcoming Birthdays
        Posted  
        
            by 
                Crob
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Crob
        
        
        
        Published on 2008-09-17T13:59:40Z
        Indexed on 
            2011/01/03
            6:53 UTC
        
        
        Read the original article
        Hit count: 214
        
I'm trying to write a stored procedure to select employees who have birthdays that are upcoming.
SELECT * FROM Employees WHERE Birthday > @Today AND Birthday < @Today + @NumDays
This will not work because the birth year is part of Birthday, so if my birthday was '09-18-1983' that will not fall between '09-18-2008' and '09-25-2008'.
Is there a way to ignore the year portion of date fields and just compare month/days?
This will be run every monday morning to alert managers of birthdays upcoming, so it possibly will span new years.
Here is the working solution that I ended up creating, thanks Kogus.
SELECT * FROM Employees 
WHERE Cast(DATEDIFF(dd, birthdt, getDate()) / 365.25 as int)
    - Cast(DATEDIFF(dd, birthdt, futureDate) / 365.25 as int) 
<> 0
        © Stack Overflow or respective owner