匹配今天時間戳行我有表在MySQL中有三個的Fileds取,在PHP的MySQL
id
name
time_stamp
這裏time_stamp
商店PHP的time()
值。
我想獲得匹配今天時間戳的字段,現在我正在取回所有行並檢查循環中的時間戳條件,如果匹配將打印當前行。
有沒有辦法在mysql查詢本身做到這一點?
匹配今天時間戳行我有表在MySQL中有三個的Fileds取,在PHP的MySQL
id
name
time_stamp
這裏time_stamp
商店PHP的time()
值。
我想獲得匹配今天時間戳的字段,現在我正在取回所有行並檢查循環中的時間戳條件,如果匹配將打印當前行。
有沒有辦法在mysql查詢本身做到這一點?
()或的currentdate()函數,因爲您將UNIX時間戳(time()
),你並不需要獲取所有行,並在取的比較。就在MySQL的使用FROM_UNIXTIME()
:
SELECT * FROM table_name WHERE FROM_UNIXTIME(`time_stamp`, '%Y-%m-%d') = CURDATE()
是的,它的工作 –
現在可以使用該
你可以做之間在一個數據庫,從今天得到記錄,例如,也可以轉換日期,你需要的特定格式。
人類可讀的,你可以使用
如果是DATE_FORMAT之間的情況下使用,並選擇你只需要什麼。
我希望能幫到您
您正在存儲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)
有什麼代碼,你試過依然。發佈這些信息,以便我們確保您的進展。 –
請檢查這個http://stackoverflow.com/questions/14769026/mysql-select-where-timestamp-today – Sasikumar
你應該去'SELECT * FROM'表'WHERE DATE('time_stamp')= NOW()' – Akshay