仅检查日期时间字段中的日期

时间:2011-01-05 15:50:40

标签: sql mysql

我有一个MySql数据库,它将日期时间保存在一个字段中,格式为:

'2011-01-04 16:32:49'

如何根据此日期时间过滤掉结果,使其仅显示今天的结果。基本上,我只想比较该领域的日期部分。

我可以这样做吗?

Select * from table where timestamp.date() = now().date

4 个答案:

答案 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')