5

我正在尝试获取date_created2 小时前的所有记录。这是一个从 php 函数创建的 unix 时间戳time()。这是我当前的查询:

SELECT id from gsapi_synsets where name = "Beyonce" and date_created BETWEEN  UNIX_TIMESTAMP(date_created) and UNIX_TIMESTAMP(DATE_ADD(CURDATE(),INTERVAL 2 hour))    

似乎没有工作。

4

2 回答 2

9

如果date_created将来没有任何值,则可以使用:

SELECT id
FROM gsapi_synsets
WHERE name = 'Beyonce'
  AND date_created > UNIX_TIMESTAMP(NOW() - INTERVAL 2 HOUR);

如果date_created值可以在将来,请使用 this,它会在当前中断

SELECT id
FROM gsapi_synsets
WHERE name = 'Beyonce'
  AND date_created BETWEEN UNIX_TIMESTAMP(NOW() - INTERVAL 2 HOUR) AND UNIX_TIMESTAMP()

请注意,UNIX_TIMESTAMP不带参数调用会返回“现在”的时间戳。

于 2013-08-09T18:50:07.110 回答
1

您正在尝试获取该行的日期戳和从现在起 2 小时之间的所有行,这是行不通的。改用这个:

SELECT id from gsapi_synsets where name = "Beyonce" and date_created BETWEEN  UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL -2 hour)) and  UNIX_TIMESTAMP(NOW())     
于 2013-08-09T18:40:03.303 回答