Mysql之间查询两个日期不能正常工作


Mysql between query for two date is not working properly

我有一个包含两个datetime字段的表。所以当我要搜索两个日期之间的任何东西时,它不会显示准确的结果。当我只想看到一天的搜索结果时,这让我更痛苦。我的代码是

SELECT * FROM item WHERE production_date BETWEEN $a AND $b

您需要像这样将production_date的CAST设置为DATE,否则BETWEEN将独占而不是包含。

SELECT * FROM item WHERE DATE(production_date) BETWEEN $a AND $b

我不确定你的列是否有一个时间组件,用DATE(column)截断它,但如果它这样做,这应该做的伎俩。

您正在使用datetime作为字段的类型。将其更改为仅日期,它将工作得很好!

或者您可以使用'2014-05-27 00:00:00'作为开始日期,'2014-05-28 23:59:59'作为结束日期。意味着在变量中添加一些额外的字符串