【问题标题】:sql select date in rangesql选择范围内的日期
【发布时间】:2015-09-05 07:34:35
【问题描述】:

表:

id | u_id | start_date |  end_date  |
-------------------------------------
01 |   7  | 2015-05-05 | 2015-07-23 |
02 |   4  | 2015-07-10 | 2015-07-15 |
03 |   4  | 2015-08-27 | 2015-11-05 |
04 |   5  | 2015-08-01 | 2015-12-09 |

需要这些行:

03 |   4  | 2015-08-27 | 2012-11-05 |
04 |   5  | 2015-08-01 | 2012-12-09 |

我要查询的输入数据: start_date = 2015-10-01end_date = 2015-10-31

【问题讨论】:

标签: mysql date


【解决方案1】:

试试这个:

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

以上将返回所有start_date - end_date区间重叠@start_date - @end_date的记录。

Demo here

【讨论】:

    猜你喜欢
    • 2019-09-05
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多