在unixtime(INT 10)检查间隔中存储日期

时间:2013-03-09 18:08:32

标签: mysql unix-timestamp

我有一张表来存储汽车租赁数据(等待响应的预订)。这是一个名为'initiated_datime'(INT,10)的字段,其中存储了保留的启动时间(我已经知道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

SELECT * FROM rentals WHERE rental_flag = 1 AND unix_timestamp(now()) > (initiated_datime + 86400)

有没有办法用更高效的代码更改(initiated_datime + 86400)?如:unix_timestamp(initiated_datime + 1天间隔)?

提前谢谢!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

不是一般情况;但在这种情况下,这种不平等等同于:

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