0

我想SELECT5 项WHEREunix_timestamp 是在今天之后。

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

 15.08.2013
 18.08.2013
 21.08.2013
 27.08.2013
 30.08.2013

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

MySQL Result 必须是带有 unix_timestamp 的项目:

18.08.2013
21.08.2013
27.08.2013
30.08.2013
4

2 回答 2

1

你可以尝试这样的事情:

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

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

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

IE

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

CURRENT_DATE()返回当前日期

日期和时间函数

于 2013-08-18T11:01:16.157 回答
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().

于 2013-08-18T11:31:27.847 回答