запросе в базу имею две даты (условно A и B)
Нужно найти все записи, у которых промежутки start - end и A - B пересекаются между собой
Можно ли это сделать как-то красивее без множества условий >= и т.п.?
А где там множество условий то? Всего два)
https://www.postgresql.org/docs/15/functions-range.html
Если start и end это 5 и 10 То нужно, чтобы true выдавали сравнения с 1 и 7 7 и 13 7 и 8 1 и 15
Тебе помогут диапазонные типы, для примера select daterange(current_date,current_date,'[]') && daterange(current_date-2, current_date+2,'[]')
Обсуждают сегодня