我在mysql中有三个文件的表
id
name
time_stamp
此处time_stamp
存储了php time()
值。
我想获取与今天时间戳匹配的字段,现在我获取所有行并在循环中检查时间戳条件(如果匹配则将打印当前行。)
无论如何在mysql查询中都有这个吗?
答案 0 :(得分:3)
由于您插入了unix时间戳(time()
),因此您无需获取所有行并对提取进行比较。只需在MySQL中使用FROM_UNIXTIME()
:
SELECT * FROM table_name WHERE FROM_UNIXTIME(`time_stamp`, '%Y-%m-%d') = CURDATE()
答案 1 :(得分: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)
答案 2 :(得分:0)
您可以使用NOW()或Currentdate()函数
答案 3 :(得分:0)
例如,您可以在数据库之间进行记录,以获取今天的记录,或者您可以将日期转换为您需要的特定格式。
以人类可读的方式,您可以使用http://www.w3schools.com/sql/func_date_format.asp
如果在date_format之间使用,只选择你需要的东西。
我希望能帮到你