我的表格中有以下行:
id booking start end
3 325 2015-01-01 00:00:00 2015-01-09 00:00:00
使用以下查询,我尝试查找指定日期介于另外两个日期之间的行:
SELECT * FROM $table WHERE booking=$product AND $from between start and end
运行时会解析为以下内容:
SELECT * FROM wp_ovalbit_utils WHERE booking=325 AND 2015-02-01 between start and end
显然这应该返回该行,但事实并非如此。
这是我的架构:
id mediumint(9) NOT NULL AUTO_INCREMENT,
booking text NOT NULL,
start datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
end datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
UNIQUE KEY id (id)
最佳答案
您忘记了日期前后的引号并转义了 end
等保留字
SELECT *
FROM wp_ovalbit_utils
WHERE booking = 325
AND '2015-02-01 00:00:00' between `start` and `end`
顺便说一句,2 月 1 日不在两个示例日期之间。
关于php - 检查两个人之间的日期是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28002213/