MYSQL  DATE_ADD想给当'月'期加5个月,日是固定不变为:20日
例:今天是2011-07-19日:DATE_ADD(NOW(), Interval 5 MONTH) //这个应该是2011-12-19 吧? 但我想固定‘日’为:20例如当天为2011-06-08日:加5个月就是:2011-11-20

解决方案 »

  1.   

    select CAST(CONCAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 5 MONTH),'%Y-%m'),'-20') AS DATE)
      

  2.   

    如果今天31号,怎么算?如果只是NOW()+5 Months,然后Date==>20的话,
    SELECT CONCAT(DATE_FORMAT(DATE_ADD(NOW(), Interval 5 MONTH), '%Y-%m-'), '20');
      

  3.   

    怎么还select  ?
    我现在就是在修改update table set mydate=DATE_ADD(NOW(), Interval 5 MONTH)
      

  4.   

    update table set mydate=CAST(CONCAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 5 MONTH),'%Y-%m'),'-20') AS DATE)
      

  5.   

    update table set mydate=CAST(CONCAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 5 MONTH),'%Y-%m'),'-20')就这样行吧
      

  6.   

     mydate什么类型,字符型可以不用CAST
      

  7.   

    mysql> select curdate()+interval 5 month-interval day(curdate())-20 day;
    +-----------------------------------------------------------+
    | curdate()+interval 5 month-interval day(curdate())-20 day |
    +-----------------------------------------------------------+
    | 2011-12-20                                                |
    +-----------------------------------------------------------+
    1 row in set (0.03 sec)mysql>