如何在两个日期时间值之间使用MYSQL中的SQL减去并在几分钟或几秒内检索结果?

Ali*_*Ali 42 php mysql sql

我想在MySQL中使用SQL减去两个日期时间值,这样我就能得到分钟或秒的间隔.有任何想法吗?我想运行一个SQL查询,该查询从数据库中检索用户,这些数据库从那时起已经过10分钟登录.

Mat*_*nes 62

有函数TIMEDIFF(expr1,expr2),它返回expr1-expr2的值,以及TIME_TO_SEC(expr3),它以秒为单位表示expr1.

请注意,expr1和expr2是日期时间值,而expr3仅是时间值.

请查看此链接以获取更多信息.


Wel*_*bog 59

TIMESTAMPDIFF就像TIMEDIFF其中马太指出,除了它返回的任何单位,你的愿望(秒,分钟,小时等),这两个日期时间的差异.

例如,

SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn
FROM LogTable
Run Code Online (Sandbox Code Playgroud)

将返回用户登录的分钟数(假设您将此类内容存储在这样的表中).

  • 请注意,TIMEDIFF(expr1,expr2)导致expr1 - expr2,其中TIMESTAMPDIFF(unit,expr1,expr2)导致expr2 - expr1.需要注意的事项. (18认同)

Dav*_*unt 10

我会这样做 - 获取最后一次活动在10分钟内的位置

SELECT * FROM table WHERE last_activity >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)
Run Code Online (Sandbox Code Playgroud)