mysql - 获取日期范围内的记录

标签 mysql

我需要两个日期范围之间的记录

我在mysql表中有以下记录

**id  start_date  End_date**
1   2016-04-11  2016-04-18
2   2016-04-19  2016-04-19
3   2016-04-20  2016-04-21
4   2016-04-22  2016-04-29
5   2016-05-01  2016-05-01
6   2016-05-08  2016-05-10

我将提供输入 2016-04-18和2016-04-24

我的输入值不指向开始和结束日期。它指向日期范围。我的输出应包含数据范围从(2016-04-18 到 2016-04-24,开始日期和结束日期)的记录

它应该提供如下输出

**id  start_date  End_date**
1   2016-04-11  2016-04-18
2   2016-04-19  2016-04-19
3   2016-04-20  2016-04-21
4   2016-04-22  2016-04-29

第一条记录是 <= 2016-04-18 所以我需要这个

第二条记录是 < 2016-04-24 所以我需要这个

第三条记录是< 2016-04-24 所以我需要这个

第四条记录是<2016-04-24所以我需要这个

最佳答案

试试这个:

SET @start = '2016-04-18';
SET @end = '2016-04-24';

SELECT id, start_date, end_date
FROM mytable
WHERE end_date >= @start AND start_date <= @end

关于mysql - 获取日期范围内的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36569162/

相关文章:

MySQL 的事件日程

php - Laravel API : RegisterController set a default value on creating an User not working

mysql - 从表 1 和表 2 中选择的 SQL 查询?

mysql - 值超出特定数字的范围

php - 从不同表中选择数据,匹配并统计具有相同值的数字

MySQL ManyToMany 显示重复行

php - 显示来自多个 MySQL 表的数据

mysql - SQL - 提高性能

php - 记录学生出勤情况的表格设计什么好

php - 如何在 php 中获取多个选中(动态)复选框的值?