MySQL 选择指定日期在开始日期和结束日期之间的行

标签 mysql sql datetime

我的表格有一列(日期时间)表示开始日期和时间“startdate”,一列(日期时间)表示结束日期和时间“endtime”。

我想从表中选择开始日期和结束日期包含指定日期的行。

示例:我有一行的开始日期为 2014-06-22 20:00:00,结束日期为 2014-06-29 23:00:00,我想选择具有指定日期范围的该行特定日期 (2014-06-25)。

这是我的查询,当前没有执行我想要的操作...

SELECT * FROM my_tbl WHERE `startdate` >= '2014-06-22 00:00:00' AND `enddate` <= '2014-06-22 23:59:59'

我也尝试过SQL查询中的Between。我想我必须创建一个包含开始日期和结束日期的日期范围,并从指定日期引用该日期范围,但我不知道该怎么做。请帮忙!

编辑:

我的表格有 2 个日期列。我在特定的一天(2014-06-25)注入(inject)。我想返回开始日期 (startdate) 在指定日期之前或指定日期以及结束日期 (enddate) 在指定日期之后或指定日期的行。所以基本上我希望根据指定的日期显示事件行。

最佳答案

使用DATEDIFF具有日期部分的函数。

SELECT * FROM my_table WHERE DATEDIFF(day, date1, date2) >= 0

Source

关于MySQL 选择指定日期在开始日期和结束日期之间的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24411559/

相关文章:

mysql - 1822, "添加外键约束失败。缺少约束索引

java - 将设置存储在数据库中

sql - 具有 NULL 值的 NOT LIKE 行为

mysql 选择范围内的日期时间对象

c++ - 添加日期时文件不输出

C# DateTime 默认值 Issue 01/01/0001 00 :00:00

PHP回显乱序

mysql - 如何使用TRIGGER在MYSQL中自动更新表

PHP 从数据库中获取数据

sql - PL/Python 错误 : NameError: global name 'name of user-defined function' is not defined