计算2009-12-26到现在mysql之间有多少个月和几年

时间:2012-12-27 03:42:53

标签: php mysql

在mySql中,如何计算从“给定日期”到现在的月份和年份。将从表格中选择“给定日期”。或者这是我必须使用php做的事情吗?

所以sql将是select min(datecol) from table where userid = 12;

我在这里select DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), '2009-12-26')), '%c months and %Y years');遇到了这个问题,但这会给1 months and 0003 years

三年没问题,但1个月是错的。在这种情况下应该是36个月以上。

1 个答案:

答案 0 :(得分:0)

找个月

select 
  period_diff(date_format(now(), '%Y%m'), date_format(`date_field`, '%Y%m')) 
  as months from `your_table`

或者

 SELECT
        12 * (YEAR(now()) - YEAR('2012-02-26')) + 
        (MONTH(now()) - MONTH('2012-02-26')) AS months

请参阅Mevin Babu链接以查找年份