如何在两个date时间值之间使用MYSQL中的SQL进行相减并在几分钟或几秒钟内检索结果?
我想在MySQL中使用SQL来减去两个date时间值,这样我就可以得到以分钟或秒为单位的时间间隔。 有任何想法吗? 我想运行一个SQL查询,从一个已经login的数据库中获取使用情况,比如10分钟。
函数TIMEDIFF(expr1,expr2)返回expr1-expr2的值,TIME_TO_SEC(expr3)返回expressionexpr1的秒数。
请注意,expr1和expr2是date时间值,而expr3只是一个时间值。
检查此链接了解更多信息。
TIMESTAMPDIFF就像马蒂说的TIMEDIFF,只不过它以任何你想要的单位(秒,分,小时等等)返回两个date时间的差别。
例如,
SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn FROM LogTable
会返回用户login的分钟数(假设你把这种东西存储在这样的表中)。
我会这样做 – 取现在的最后一个活动在10分钟内
SELECT * FROM table WHERE last_activity >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)
您可以尝试将它们转换为Unix时间戳,并采取差异。
SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime)AS TimeLoggedIn FROM LogTable
如果这个例子使用了时间,那么这个例子就会毁了。 所以为了计算millitairy时间我不推荐它,因为它输出负值。