В MySQL, как я могу получить все диапазоны данных, которые проходят через любую дату в месяц? - PullRequest
0 голосов
/ 25 декабря 2018

Допустим, это примерные диапазоны дат -

from_date => to_date

2018-01-01 => 2018-04-01

2018-02-15 => 2018-03-01

2018-02-01 => 2018-02-07

2018-03-01 => 2018-03-05

Я хочу найти диапазоны дат, которые прошли до февраля 2018 года.

Я попробовал этот.Итак, я выбрал случайную дату с февраля 2018 года и искал эти два условия.

select * from enroll 
where 
 (from_date between DATE_FORMAT(DATE("2018-02-01") ,'%Y-%m-01') and LAST_DAY("2018-02-01"))
 or 
 (to_date between DATE_FORMAT(DATE("2018-02-01") ,'%Y-%m-01') and LAST_DAY("2018-02-01"))
 or 
 (from_date < DATE_FORMAT(DATE("2018-02-01") ,'%Y-%m-01') and to_date > LAST_DAY("2018-02-01"))
  1. Если от_даты до to_date между первой и последней датой этого месяца
  2. Если из_датыменьше первой даты этого месяца, а to_date больше последней даты этого месяца.

Пожалуйста, дайте мне знать, будет ли это работать или есть лучший способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...