Получение результатов таблицы на основе даты начала и окончания с использованием одной даты

В настоящее время у меня возникают проблемы при попытке запросить набор данных, который содержит несколько записей для уникальных клиентов. У каждой строки есть дата начала и окончания, а самая последняя запись помечена как Самая текущая, а дата окончания - как 12/31/9999. Я пытаюсь написать запрос, чтобы я мог вернуть все записи, приходящиеся на определенную дату, например, на конец месяца (31.10.2008). Моя цель в Oracle SQL Developer - ввести все записи / данные в день 31.10.2017, чтобы строки с * были единственными, которые я хотел бы вернуть. Окончательный результат - сделать это с помощью файла большего размера и посмотреть весь год в конце месяца, в котором находился каждый человек, исходя из даты окончания месяца в течение 1 года.

Пример данных

2 ответа

Я думаю, что вы хотите перечислить любые записи, которые являются актуальными на указанную дату. Чтобы сделать это, я бы просто использовал условие МЕЖДУ:

select * from mytable
where date'2017-31-10' between start and end

Можете ли вы уточнить, какой результат вы ожидаете? Я вижу, что вы пытаетесь реализовать временную функциональность здесь. Пожалуйста, проверьте эту ссылку, если это служит вашей цели Oracle временно. Что касается выделенных записей, вы можете использовать простое условие в предложении where, как это, и форматировать часть даты, как требуется:

select * from emp where  endd=to_date('9999/12/31','yyyy/mm/dd')
Другие вопросы по тегам