View Single Post

   
  #14 (permalink)  
Old 02-28-2008, 11:32 AM
Rik Wasmus
 
Posts: n/a
Default Re: SOLVED - pulling upcoming dates

On Thu, 31 Jan 2008 12:21:14 +0100, Carolyn Marenger <cajunk@marenger.com>
wrote:

> Carolyn Marenger wrote:
>> How do I perform a select statement that would locate all records in
>> which the day and month are in the next say 30 days regardless of the
>> year. Basically an upcoming birthday/anniversary list.
>> Thanks, Carolyn

>
> The following command worked for me. Thanks to Luuk and Captain
> Paralytic for their debate in developing it.
>
> SELECT description, eventDate
> FROM dates
> WHERE
> DATEDIFF(CONCAT(YEAR(NOW()),'-',MONTH(eventDate),'-',DAY(eventDate)),NOW())
> BETWEEN 0 AND 60


Let's say today is 2007-12-05, date to check is 1982-01-16...

mysql> select
DATEDIFF(CONCAT(YEAR('2007-12-05'),'-',MONTH('1982-01-16'),'-',DAY('1982-01-16')),'2007-12-05');

+--------+
| -323 |
+--------+


SELECT
description,
eventDate,
DATEDIFF(CONCAT(YEAR(NOW()),'-',MONTH(eventDate),'-',DAY(eventDate)),NOW())
as checkdays.
FROM dates
HAVING checkdays BETWEEN 0 AND 60
OR checkdays BETWEEN -365 AND (-365 + 60)

Now all we need is a statement to check for a leap year....
--
Rik Wasmus
Reply With Quote