2016-09-20 40 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)