无论如何在MySQL查询上做数学运算?

时间:2011-07-12 19:43:16

标签: mysql math

我有两个字段,一个是购买日期,另一个是项目的生命周期。我想知道是否有任何方法可以确定当前日期是否超过了生命周期。所以,几乎如果MySQL可以测试current_date是否> purchase_date + lifespan。

购买日期是格式为yyyy-mm-dd的日期,寿命是月份的整数。有没有办法执行此计算?

3 个答案:

答案 0 :(得分:4)

您可以尝试:

SELECT * FROM table WHERE NOW() > (purchase_date + INTERVAL lifespan MONTH)

但你可以使用

SELECT * FROM table WHERE NOW() > date_add(purchase_date, INTERVAL lifespan MONTH)

DATEDIFF

SELECT * FROM table WHERE DATEDIFF(NOW(), purchase_date) / 30 < lifespan

答案 1 :(得分:1)

如何使用DATEDIFF

您的查询将是这样的:

SELECT * FROM table WHERE DATEDIFF(NOW(), purchase_date) < lifespan

请原谅我,如果我的语法稍微偏离,我现在没有要测试的SQL实例

答案 2 :(得分:0)

是的,可以使用MySQL date and time functions