How do I subtract using SQL in MYSQL between two date time values and retrieve the result in minutes or second?

MysqlSqlDate

Mysql Problem Overview


I want to subtract between two date time values using SQL in MySQL such that I get the interval in minutes or seconds. Any ideas? I want to run a SQL query that retrieves uses from a database who have logged in like 10 minutes from the time.

Mysql Solutions


Solution 1 - Mysql

There are functions TIMEDIFF(expr1,expr2), which returns the value of expr1-expr2, and TIME_TO_SEC(expr3), which expresses expr3 in seconds.

Note that expr1 and expr2 are datetime values, and expr3 is a time value only.

Check this link for more info.

Solution 2 - Mysql

TIMESTAMPDIFF is like TIMEDIFF which Matthew states, except it returns the difference of the two datetimes in whatever units you desire (seconds, minutes, hours, etc).

For example,

SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn
FROM LogTable

Would return the number of minutes the user was logged in (assuming you stored this kind of thing in a table like that).

Solution 3 - Mysql

I would do it like this - fetch where last activity is within 10 mins of now

SELECT * FROM table WHERE last_activity >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)

Solution 4 - Mysql

SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn
FROM LogTable

This example shall ruin the time if its used by using millitary time. So for calculating millitairy time I do not recommend it Because it outputs negative values.

Solution 5 - Mysql

You can try and cast them to Unix Time stamp, and take the difference.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAliView Question on Stackoverflow
Solution 1 - MysqlMatthew JonesView Answer on Stackoverflow
Solution 2 - MysqlWelbogView Answer on Stackoverflow
Solution 3 - MysqlDavid Snabel-CauntView Answer on Stackoverflow
Solution 4 - MysqlJasper LankhorstView Answer on Stackoverflow
Solution 5 - MysqlAndrew WhittingtonView Answer on Stackoverflow