我有一个MySql数据库,它将日期时间保存在一个字段中,格式为:
'2011-01-04 16:32:49'
如何根据此日期时间过滤掉结果,使其仅显示今天的结果。基本上,我只想比较该领域的日期部分。
我可以这样做吗?
Select * from table where timestamp.date() = now().date
答案 0 :(得分:3)
使用DATE:
SELECT * FROM table
WHERE DATE(timestamp) = DATE(now())
另一种可以使用timestamp
上的索引的替代方案,如果你有一个:
SELECT * FROM table
WHERE timestamp >= DATE(now())
AND timestamp < DATE(now()) + interval 1 day
答案 1 :(得分:1)
是的,您可以,但只需要引用数据库中存储dateTime字段的列,您不应该在其上调用.date()函数。
答案 2 :(得分:1)
对于mySQL,这将是:
从DATEDIFF(NOW(),timestamp)= 0
的表中选择*这将只提供日期为今天的记录。
答案 3 :(得分:1)
Select * from table where DATE_FORMAT(timestamp, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')