2016-09-20 42 views
1

匹配今天時間戳行我有表在MySQL中有三個的Fileds取,在PHP的MySQL

id 
name 
time_stamp 

這裏time_stamp商店PHP的time()值。

我想獲得匹配今天時間戳的字段,現在我正在取回所有行並檢查循環中的時間戳條件,如果匹配將打印當前行。

有沒有辦法在mysql查詢本身做到這一點?

+0

有什麼代碼,你試過依然。發佈這些信息,以便我們確保您的進展。 –

+0

請檢查這個http://stackoverflow.com/questions/14769026/mysql-select-where-timestamp-today – Sasikumar

+0

你應該去'SELECT * FROM'表'WHERE DATE('time_stamp')= NOW()' – Akshay

回答

3

()或的currentdate()函數,因爲您將UNIX時間戳(time()),你並不需要獲取所有行,並在取的比較。就在MySQL的使用FROM_UNIXTIME()

SELECT * FROM table_name WHERE FROM_UNIXTIME(`time_stamp`, '%Y-%m-%d') = CURDATE() 

Fiddle

+0

是的,它的工作 –

0

現在可以使用該

0

你可以做之間在一個數據庫,從今天得到記錄,例如,也可以轉換日期,你需要的特定格式。

人類可讀的,你可以使用​​

如果是DATE_FORMAT之間的情況下使用,並選擇你只需要什麼。

我希望能幫到您

1

您正在存儲UNIX_TIMESTAMP

所以,有一個辦法:

SELECT * FROM table_name WHERE FROM_UNIXTIME( TIME_STAMP , '%Y-%m-%d') = CURDATE() @Ghost已經張貼了這個在他的回答

但是,這種方法的一個潛在的問題是,你不能使用索引(如果有的話)在time_stamp列。

這裏是周圍的其他方法:

SELECT * FROM 
table_name 
WHERE time_stamp BETWEEN UNIX_TIMESTAMP(CURDATE()) AND (UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY) - 1)