2013-08-18 85 views
0

我想SELECT 5项目WHERE unix_timestamp是今天之后。MySQL:今天之后的时间戳

: 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的结果必须是项与UNIX_TIMESTAMP:

18.08.2013 
21.08.2013 
27.08.2013 
30.08.2013 

回答

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()的函数。

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

+0

这将是> =“* now *”,它与> =“* today *”不一样。 –