在MySQL中反转DATE_ADD / INTERVAL

时间:2014-08-20 16:09:36

标签: mysql sql database

在mysql中,我们可以执行以下操作来添加月份:

SELECT DATE_ADD('2014-08-20', INTERVAL 13 MONTH); //Result: 2015-09-20

有没有办法进行逆转操作?例如:

SELECT DIFF_IN_MONTHS('2015-09-20', '2014-08-20') //Result: 13

由于日差异导致的舍入对我来说不是问题。

2 个答案:

答案 0 :(得分:3)

函数TIMESTAMPDIFF执行此操作:

SELECT TIMESTAMPDIFF(MONTH, '2015-09-20', '2014-08-20');
  

TIMESTAMPDIFF(单元,datetime_expr1,datetime_expr2)

     

返回datetime_expr2 - datetime_expr1,其中datetime_expr1和   datetime_expr2是日期或日期时间表达式。一个表达可能是   日期和另一个日期时间;日期值被视为日期时间   必要时有时间部分'00:00:00'。单位为   result(整数)由单位参数

给出

答案 1 :(得分:0)

所以你想要在两个日期之间获得差异?

    DATEDIFF('1015-09-20','2014-08-20')