MySQL:今天之后的TimeStamp

时间:2013-08-18 10:53:08

标签: mysql

我想SELECT 5项WHERE unix_timestamp今天过后。

示例: unix_timestamp(这里不是格式):

 15.08.2013
 18.08.2013
 21.08.2013
 27.08.2013
 30.08.2013

MySQL SELECT * WHERE unix_timestamp is today or after today and ORDER BY unix_timestamp with LIMIT 0,5

MySQL结果必须包含unix_timestamp:

的项目
18.08.2013
21.08.2013
27.08.2013
30.08.2013

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

SELECT * FROM FOO
   WHERE UNIX_TIMESTAMP >= NOW() ORDER BY UNIX_TIMESTAMP Limit 5;

NOW()返回当前日期和时间

如果UNIX_TIMESTAMP列按照示例包含日期格式的数据,那么您可以使用NOW()代替CURRENT_DATE()

 SELECT * FROM FOO
    WHERE UNIX_TIMESTAMP >= CURRENT_DATE() ORDER BY UNIX_TIMESTAMP Limit 5;

CURRENT_DATE()返回当前日期

Date and Time Functions

答案 1 :(得分:1)

这实际上应该有效(DEMO):

SELECT FROM_UNIXTIME(unix_timestamp, '%m.%d.%Y') as `Date` FROM dates WHERE FROM_UNIXTIME(unix_timestamp, '%m.%d.%Y') >= DATE_FORMAT(NOW(), '%m.%d.%Y') ORDER BY unix_timestamp Limit 5;

我之所以认为,因为您已将列unix_timestamp命名,您的日期实际上是以该格式存储的(例如,1376825624)。

请注意,我会考虑更改unix_timestamp的名称,因为MySQL中已经有一个名为UNIX_TIMESTAMP()的函数。