Проверьте, находится ли дата столбца в некотором периоде, который зависит от другого столбца даты - PullRequest
0 голосов
/ 11 декабря 2018

Ну, у меня есть эта часть запроса:

round(if(((t1.docType=1 and t1.installments=1) or (t1.docType=3 and t1.installend=t1.insend)), "", t1.premiaPaid),2) AS custom_field

Проблема возникает здесь t1.installend=t1.insend где:

t1.installend = 2018-11-29
t1.insend = 2018-11-28

В этой форме возвращается false, но я хочу эточасть условия возвращает мне значение true, поэтому я хочу получить t1.insend и проверить, что я f 2018-11-28 находится в t1.installend + - 5 дней , в этом примере это будет:

Если 2018-11-28 находится между 2018-11-23 и 2018-12-04, и он вернет мне TRUE.

Возможно ли с MySQL или мне следует написать какой-нибудь код?

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете рассчитать начало и конец диапазона дат с помощью оператора INTERVAL.Например:

SELECT
  t1.installend - INTERVAL 5 DAY, /*start date*/
  t1.installend + INTERVAL 5 DAY  /*end date*/
FROM <your table name>

Кроме того, вы можете использовать оператор BETWEEN для проверки существования даты в диапазоне дат.Например:

t1.insend BETWEEN t1.installend - INTERVAL 5 DAY AND t1.installend + INTERVAL 5 DAY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...