两列之间的Mysql datetime

标签 mysql sql datetime range

我在事件表中有两列(均为日期时间)startDate 和 endDate。 我正在使用 php 的 date() 函数检索当前日期。

这导致例如 2013-03-12。

现在有三种可能性的事件结合今天发生的日期:

  1. 事件在这一天开始,也在这一天结束
  2. 一项事件提前开始,今天结束
  3. 事件从今天开始但在未来结束 (>= 2013-03-13)

现在我想将这些全部分解成单独的查询,因为我不习惯处理日期。我从第一个查询开始,但我已经失败了。我尝试了以下方法:

SELECT * FROM events WHERE (startDate= '2013-03-12' AND endDate= '2013-03-12')

还有:

SELECT * FROM events WHERE NOT (startDate < '2013-03-12' OR endDate > '2013-03-12')

我也尝试过使用 DATE() 并将日期格式化为“2013-03-12%”。

我不知道为什么它不起作用,但我确定至少有 1 个事件在 12 日发生。感谢您的帮助。

最佳答案

尝试使用 MySQL 的 DATE()将日期列修剪为日期部分的函数:

SELECT * 
FROM events 
WHERE (DATE(startDate) = '2013-03-12' AND DATE(endDate)= '2013-03-12')

关于两列之间的Mysql datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15368589/

相关文章:

php - 在将日期插入数据库之前更改日期格式

javascript - 如何通过PHP将 Backbone 模型数据POST到DB

sql - 同时从多个表中删除记录?

sql - 如何将列名添加到由SQL输出语句创建的csv文件中?

python - Pandas 解析非英文字符串日期

Python错误: cannot add integral value to Timestamp without freq

mysql - 对文本列 : full-text or separate table 进行过滤

mysql - 如何计算 MySQL 中每周匹配条件的行数?

sql - 是否可以找出 SQL Server 中有多少数据库数据早于 N 年?

python - 当我更改 DataFrame 的索引时,使用 pandas 进行绘图似乎效果不佳