在我的表中,日期以"2010-08-26 09:00:00"
格式存储,因此yyyy-mm-dd。我想选择日期字段为“今天”的所有字段,因此在2010-08-26 00:00:01
和2010-08-26 23:59:59
之间选择。
只使用较大和较小的运算符不起作用,MySQL是否有一些内置的日期比较功能可以做到这一点?
编辑:我应该提到日期存储为datetime
字段
答案 0 :(得分:7)
... WHERE DATE(field)=CURDATE()
或
... WHERE DATE(field)=CURRENT_DATE
或
... WHERE DATE(field)=CURRENT_DATE()
选择一个!
答案 1 :(得分:2)
我建议[...] WHERE DATEDIFF(CURDATE(),date_field) = 0 [...]
答案 2 :(得分:1)
答案 3 :(得分:1)
只是对未来的建议:在varchar列中存储日期几乎总是一个非常糟糕的主意。
答案 4 :(得分:0)
使用DATE(
)函数,您应该能够构造一个值进行比较:
DATE(2010-08-26 12:13:24)
将为您返回日期部分,即。 2010-08-26