求在MYSQL 两个时间比较,计算当前是第几个月的写法
例如:2011-06-20 和2010-06-20这两个时间,计算出当前应该是这两个月的第5个月。

解决方案 »

  1.   

    select year(now())*12+month(now())-(year(col1)*12+month(col1));
      

  2.   

    应该还有当前时间NOW()=2010-11-09 在第几个区间,直接NOW-下限时间 返回月份
      

  3.   

    mysql> set @d='2010-06-20';
    Query OK, 0 rows affected (0.00 sec)mysql> select (Year(curdate())-year(@d))*12 + (Month(curdate())-month(@d)) +( Day(curdate())>day(@d)) as nMonth;
    +--------+
    | nMonth |
    +--------+
    |      5 |
    +--------+
    1 row in set (0.00 sec)mysql>
      

  4.   

    明白了,就是现在日期与2010-06-20相差的月份
    ROUND(DATEDIFF(CURDATE(),'2010-06-20')/30.0)