Member 13806552 Ответов: 1

Как получить самый последний диапазон дат июля месяца?


Здравствуйте, я работаю с SQL oracle и нуждаюсь в помощи с составлением запроса, чтобы получить самый последний диапазон дат записей за июль месяц. Поэтому, если я выполню запрос сегодня, он даст мне диапазон 07/01/2019 - 07/31/2019. Если я выполню тот же запрос в сентябре 2020 года, он даст мне 07/01/2020 - 07/31/2020. Ценю любую помощь, если это возможно.

Что я уже пробовал:

Я смотрел на функцию add_months, но тогда это потребовало бы от меня продолжать чередовать код, чтобы получить результат, которого я пытаюсь избежать.

phil.o

Что вы имеете в виду, продолжая чередовать код? Пожалуйста, покажите свой sql.

MadMyche

Пожалуйста, покажите некоторые примеры данных, а также код или, по крайней мере, структуру таблицы

1 Ответов

Рейтинг:
1

phil.o

Схематически:

SELECT *
FROM TheTable
WHERE TheDate BETWEEN TO_DATE(CONCAT(TO_CHAR(sysdate, 'YYYY'), '-JUL-01'), 'YYYY-MON-DD') -- from YEAR-JUL-01 00:00:00
                  AND TO_DATE(CONCAT(TO_CHAR(sysdate, 'YYYY'), '-JUL-31'), 'YYYY-MON-DD') + 1 - (1 / (24 * 60 * 60)) -- to YEAR-JUL-31 23:59:59
Построенный из sql - oracle date range - переполнение стека[^]