php - 检查两个人之间的日期是否相同

标签 php mysql datetime

我的表格中有以下行:

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/

相关文章:

php - windows环境下如何通过PHP连接远程Linux box

php - 在两个日期之间搜索时,如果日期不存在则返回真值

php - MySQL 3表连接user_id,没有得到NULL值,而是重复的条目

javascript - PHP Javascript Mysql 插入

python - 使用 Python 编辑 Parquet 文件会导致日期时间格式错误

python - 将 Pandas 列转换为数据框

php - 管道阶段规范对象必须包含一个带有 php mongo 聚合的字段

php - ffmpeg响度不返回任何文件

php - nginx 重写 php 文件 - 正在下载文件

mysql - 如何加快 MySQL 中 'where MATCH AGAINST and DATETIME' 搜索的速度?