时间戳查询没有检索结果?

时间:2015-12-04 14:02:58

标签: php mysql

嗨那里:)我正在进行查询,它会在时间戳超过30天的情况下提取结果。这是我到目前为止所做的:

$result = $db->query("SELECT time FROM table1 WHERE open_time < (NOW() - INTERVAL 30 DAYS)");

正如您所看到的,它将尝试查找超过30天的结果,但是当我执行查询时,它不会选择任何行,即使列字段“open_time”超过30天

我做的任何建议都非常感谢:)

2 个答案:

答案 0 :(得分:1)

您是否尝试过投射日期字段?

$result = $db->query("SELECT time FROM table1 WHERE CAST(open_time AS DATE) < (NOW() - INTERVAL 30 DAYS)");

修改

也许你应该使用这个棘手的查询:

$result = $db->query("SELECT time FROM table1 WHERE open_time <
UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY))"):

答案 1 :(得分:1)

尝试此查询

 $result = $db->query("SELECT time FROM table1 WHERE DATE(`date`) = DATE(NOW() - INTERVAL 30
     DAY")

尝试这个也供你参考

timestampadd()

SELECT * FROM table WHERE `date` > timestampadd(day, -30, now());

try this link also