查询两个日期之间的Mysql无法正常工作

时间:2014-05-27 16:52:24

标签: php mysql datetime

我有一个包含两个日期时间字段的表。因此,当我要在两个日期之间搜索任何内容时,它不会显示确切的结果。当我想只看到一天的搜索结果时,它让我更痛苦。我的代码是

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

2 个答案:

答案 0 :(得分:5)

您需要将CAST您的production_date设为DATE,否则BETWEEN将获得排他性而非包容性。

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

我不确定你的列是否有时间组件,用DATE(column)将其截断,但如果确实如此,这应该可以解决问题。

答案 1 :(得分:-3)

您正在使用日期时间作为您的字段的类型。将其更改为仅日期,它将正常工作!

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