将CURDATE()的日期值与完整时间戳字段进行比较

时间:2011-12-29 14:12:41

标签: mysql sql date timestamp

我有一个函数将时间戳值(YYYY-MM-DD HH:MM:SS)放入表META_VALUE的{​​{1}}列。

我想要做的是比较META的日期部分(YYYY-MM-DD)是否等于今天(CURDATE()),忽略小时,分钟和秒(HH:MM) :SS)

我该如何做到这一点?

2 个答案:

答案 0 :(得分:6)

SELECT * FROM table WHERE <timestamp-field> BETWEEN 'YYYY-MM-DD 00:00:00' AND 'YYYY-MM-DD 23:59:59'

如果可能的话,总是避免在场上进行计算:例如

SELECT * FROM table WHERE DATE(<timestamp-field>) = 'YYYY-MM-DD'

将为该表中的所有行计算DATE(),所以你真的在这里讨论浪费的循环

答案 1 :(得分:1)

只需使用DATE

SELECT * FROM table WHERE DATE(timestamp) = '2011-12-29'