2013-08-18 108 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 *」不一樣。 –