title: SQL Select Upcoming Birthdays
body: <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>