On Fri, Oct 17, 2008 at 2:15 PM, Ian Christian <[EMAIL PROTECTED]> wrote:

> 2008/10/17 Rob Wultsch <[EMAIL PROTECTED]>:
> > On Fri, Oct 17, 2008 at 1:33 PM, Rene Fournier <[EMAIL PROTECTED]>
> wrote:
> >
> >> Okay, I realize that query won't work, but that's essentially want I
> want
> >> to do:
> >>
> >> Add four months to the current date, then return the first day of that
> >> month, e.g.:
> >>
> >>        floor ( 2008-10-16 + 4 months ) = 2009-02-1
> >>
> >> Is there a nice SQL way of achieving this?
> >>
> >> ...Rene
> >>
> >
> > SELECT date(now() + INTERVAL 4 MONTH - INTERVAL day(now())-1 DAY);
>
> Be aware that only 1 suggested answer was correct :)
>
> mysql> SELECT date( date("2008-10-31") + INTERVAL 4 MONTH - INTERVAL
> day("2008-10-31")-1 DAY) as d\G
> *************************** 1. row ***************************
> d: 2009-01-29
>
> mysql> select cast(date_format( date("2008-10-31") + interval 4
> month,"%Y-%m-01") as date) as d \G
> *************************** 1. row ***************************
> d: 2009-02-01
>

Woops!
Good catch.

-- 
Rob Wultsch

Reply via email to