Mysql 以unixtime(INT 10)检查间隔存储日期

Mysql 以unixtime(INT 10)检查间隔存储日期,mysql,unix-timestamp,Mysql,Unix Timestamp,我有一个表来存储用于租车目的的数据(预订等待响应)。这是一个名为“initiated_datime”(INT,10)的字段,其中存储了预订的initiated datime(我已经知道INT 10不是最有效的方式,2038等等) 我想查看等待回复超过24小时的预订,以便进一步报告 下面的例子对我很有用 SELECT * FROM rentals WHERE rental_flag = 1 AND '".$cur_datetime_unixtime."' >(initiated_datime

我有一个表来存储用于租车目的的数据(预订等待响应)。这是一个名为“initiated_datime”(INT,10)的字段,其中存储了预订的initiated datime(我已经知道INT 10不是最有效的方式,2038等等)

我想查看等待回复超过24小时的预订,以便进一步报告

下面的例子对我很有用

SELECT * FROM rentals WHERE rental_flag = 1 AND '".$cur_datetime_unixtime."' >(initiated_datime + 86400) ... WHERE $cur_datetime_unixtime is created in php

有没有办法用更高效的代码来更改(启动时为_datime+86400)?比如:unix\u时间戳(启动\u datime+1天间隔)


提前谢谢你

解决此问题的最有效方法是将列更改为
datetime
。您可以更轻松地使用函数来操作过滤器

不适用于一般情况;但在这种情况下,这种不平等相当于:

SELECT * FROM rentals WHERE rental_flag = 1 
AND unix_timestamp(now() - INTERVAL 1 DAY) > initiated_datime

谢谢你的回答。。。你能解释一下你的答案吗?unix\u时间戳(现在()-间隔1天)>已启动的\u数据时间等于已启动的\u数据时间+1天>已启动的\u数据时间?您正在将当前时间戳与
已启动的\u数据时间
加86400秒(=1天)进行比较。这与直接将“当前时间戳,1天前”与
initiated\u datime
进行比较相同。
SELECT * FROM rentals WHERE rental_flag = 1 
AND unix_timestamp(now() - INTERVAL 1 DAY) > initiated_datime