<p>I'm trying to write a stored procedure to select employees who have birthdays that are upcoming.  </p>

<p><code>SELECT * FROM Employees WHERE Birthday &gt; @Today AND Birthday &lt; @Today + @NumDays</code></p>

<p>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'.  </p>

<p>Is there a way to ignore the year portion of date fields and just compare month/days? </p>

<p>This will be run every monday morning to alert managers of birthdays upcoming, so it possibly will span new years.  </p>

<p>Here is the working solution that I ended up creating, thanks Kogus.  </p>

<pre><code>SELECT * FROM Employees 
WHERE Cast(DATEDIFF(dd, birthdt, getDate()) / 365.25 as int)
    - Cast(DATEDIFF(dd, birthdt, futureDate) / 365.25 as int) 
&lt;&gt; 0
</code></pre>

You could use
DATE_FORMAT
to extract the day and month parts of the birthday dates.
EDIT: sorry i didn't see that he wasn't using MySQL.