the following works: SELECT to_days( curdate() + 0 ) , to_days( curdate() + 3 ) FROM table 732033 732036
That's correct.
but this does not: SELECT to_days( curdate() + 0 ) , to_days( curdate() + 4 ) FROM table 732033 NULL
That's correct. CURDATE() + 4 is the number 20040332, which can't be interpreted as a date by TO_DAYS() -- 32 isn't a valid day in any month.
You could use this expression instead:
TO_DAYS(CURDATE() + INTERVAL 4 DAY);
Or just TO_DAYS(CURDATE()) + 4.
an end of month problem or a curdate() problem or what?
curdate( ) + 0, curdate( ) + 7 20040328 20040335
no month i know of has 35 days in it.
You're right. But the *number* 20040328 plus 7 *does* equal 20040335.
You're thinking that the value of CURDATE() when used in a numeric context is actually a date, right? It's a number.
3.23.58 on red hat 7.3
Steve
p.s. any tips for a query on today and today +7 days?
TO_DAYS(CURDATE()) + 7 rather than TO_DAYS(CURDATE() + 7) will probably give you results more like what you're expecting. Or TO_DAYS(CURDATE() + INTERVAL 7 DAY).
-- Paul DuBois, MySQL Documentation Team Madison, Wisconsin, USA MySQL AB, www.mysql.com
MySQL Users Conference: April 14-16, 2004 http://www.mysql.com/uc2004/
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]