Поиск данных в интервале времени. Oracle PL SQL date
Есть две таблицы:
Таблица А содержит в себе Имя, дату (с точностью до секунд) и номер. 
Таблица B содержит в себе практически те же данные, с поправкой на колличество строк и данных в таблице Date.
Необходимо для каждой строки из таблицы A применить следующий алгоритм действий:
Для каждой строки из таблицы А найти данные из таблицы B совпадающие по DATE и интервалом времени +- 15 минут. Например, мы ищем Для строки Alex с date 15.11.2022 18:01:48 данные из таблицы B с date от 15.11.2022 17:46:48 до 15.11.2022 18:16:48
Ответы (1 шт):
При условии, что поля Date имеют тип TIMESTAMP.
SELECT * FROM tableA a
JOIN tableB b ON a.name=b.name
AND a.date BETWEEN b.date - 1 / 24 / 4
AND b.date + 1 / 24 / 4
Если формат поля varchar2 то потребуется преобразование значений в тип даты to_date()
В Oracle с датой можно работать как с числом. 1 день это 1(единица). Для получения 15 минут, мы 1 делим на 24(часа), получаем 1 час, затем делим на 4, получаем 15 минут.
