0

通过一个表单,用户选择一个日期+时间,然后当他提交它时,代码运行这个查询

ABS(TIMESTAMPDIFF( HOUR , `start`, :time )) < 2

查找start与所选日期之间的差异小于 2 的所有行。

但是,我现在添加了一个end包含事件结束日期+时间的新字段。

我的问题是我应该如何编辑现有查询以返回所选日期介于start和之间的所有行end

这是selectedstartend date+time 的格式:2012-07-25 04:30

4

1 回答 1

1

利用BETWEEN

WHERE selected_date BETWEEN start AND end

引用有关使用BETWEEN日期的手册:

为了在将 BETWEEN 与日期或时间值一起使用时获得最佳结果,请使用 CAST() 将值显式转换为所需的数据类型。示例:如果将 DATETIME 与两个 DATE 值进行比较,请将 DATE 值转换为 DATETIME 值。如果在与 DATE 的比较中使用字符串常量(例如 '2001-1-1'),请将字符串转换为 DATE。

于 2012-07-25T01:41:46.437 回答