mysql 在WHERE子句中使用两个日期之间的差值

1tuwyuhd  于 2023-05-28  发布在  Mysql
关注(0)|答案(3)|浏览(201)

我试图在NOW()和NOW - interval 10 minute(?),但我似乎不能让这个工作,它给了我几个问题的主题。
我已经看过一些在线文档,很多关于stackoverflow的问题,但没有一个解决方案能给予我的需要。查看TIMEDIFF和TIMESTAMPDIFF文档,我只看到它是这样使用的;

SELECT TIMESTAMPDIFF(SECOND,'2007-12-30 12:01:01','2007-12-31 10:02:00');

但是我不想只选择时间差,我想在查询中使用它作为WHERE子句,类似于;

SELECT * FROM tableName WHERE (the time difference betweeen NOW() and the stored timestamp is less than x minutes);

我需要将列设置为特定的数据类型吗?如何正确使用TIMEDIFF / TIMESTAMPDIFF,如果这些不是我应该使用的正确方法,那是什么?

rseugnpd

rseugnpd1#

SELECT * FROM tableName WHERE TIMESTAMPDIFF(MINUTE,timestamp,NOW()) < 10
dw1jzc5e

dw1jzc5e2#

SELECT * FROM tableName 
WHERE now() - interval 10 minute < stored_timestamp
xj3cbfub

xj3cbfub3#

如果要减去当前时间列的时间并获取那些小于等于30秒的记录,则使用下面的查询

select * from table_name WHERE NOW() - timnameestamp_column  <= 30

相关问题