Travis Pessetto
Travis Pessetto

Reputation: 3298

Is there anyway to do math on a MySQL query?

I have two fields, one with the purchase date and one with the lifespan of an item. I am wondering if there is any way to determine if the current date is past the lifespan. So, pretty much if MySQL could test if current_date is > purchase_date + lifespan.

The purchase date is a date formated yyyy-mm-dd and lifespan is an integer of months. Is there any way to perform this calculation?

Upvotes: 1

Views: 1906

Answers (3)

Dirk
Dirk

Reputation: 3093

You might try:

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

But you might use

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

Or DATEDIFF

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

Upvotes: 4

Swift
Swift

Reputation: 13188

How about using DATEDIFF?

Your query would be something along these lines:

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

Forgive me if my syntax is a little off, I don't have an SQL instance to test on right now

Upvotes: 1

feeela
feeela

Reputation: 29932

Yes it is possible, using the MySQL date and time functions.

Upvotes: 0

Related Questions