MySQL比较unix时间戳

jku*_*ner 3 mysql date

我想要获得所有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))    
Run Code Online (Sandbox Code Playgroud)

似乎没有工作.

Ed *_*bbs 7

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

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

如果date_created将来可能存在值,请使用此值,此时会切断当前值

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

请注意,UNIX_TIMESTAMP不带参数的调用会返回"right now"的时间戳.