我有一个包含两个日期时间字段的表。因此,当我要在两个日期之间搜索任何内容时,它不会显示确切的结果。当我想只看到一天的搜索结果时,它让我更痛苦。我的代码是
SELECT * FROM item WHERE production_date BETWEEN $a AND $b
答案 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'作为结束日期。意味着用你的变量添加一些额外的字符串。