如何以分钟为单位获取当前日期时间和列值之间的时差

时间:2014-03-16 10:41:16

标签: mysql datetime

我有一张表格如下

user
---------
id
created_on: DATETIME

我想让所有用户的当前时间和created_on时间之间的时差必须大于30分钟(created_on date time - current date time) > 30 minutes

如何在mysql中执行此操作。

3 个答案:

答案 0 :(得分:2)

您可以利用MySQL函数TIMESTAMPDIFF为您计算:

SELECT id,
       created_on
  FROM user
 WHERE TIMESTAMPDIFF(MINUTE, created_on, NOW()) > 30

<强> Live DEMO.

答案 1 :(得分:1)

SELECT * FROM user WHERE created_on < (NOW() - INTERVAL 30 MINUTE)

答案 2 :(得分:0)

example之外的Prix

您还可以使用date_sub选项在列上使用date_addinterval

select * from user
where created_on >= date_sub( now(), interval 30 minute); 

date_add一起使用时的差异应为负数,例如: interval -30 minute

还有其他日期和时间功能,您可以使用它们获得相同的结果。

参考MySQL: Date and Time Functions