我有一个表如下
user
---------
id
created_on: DATETIME
我想获得当前时间和created_on时间之间的时差必须大于30分钟的所有用户。(created_on date time - current date time) > 30 minutes
您可以利用MySQL函数 TIMESTAMPDIFF
为您计算它:
SELECT id,
created_on
FROM user
WHERE TIMESTAMPDIFF(MINUTE, created_on, NOW()) > 30
现场演示。
SELECT * FROM user WHERE created_on < (NOW() - INTERVAL 30 MINUTE)
除了Prix的例子,
您也可以在具有interval
选项的列上使用date_sub
或date_add
。
select * from user
where created_on >= date_sub( now(), interval 30 minute);
与date_add
使用时的差值应为负值,例如interval -30 minute
。
还有其他日期和时间函数可以得到相同的结果。
引用:MySQL:日期和时间函数