Попробуйте следующее:
select min(oper_day)-&v_ref_date
from oper_calendar
where oper_day>&v_ref_date
Если вам нужно количество дней с сегодняшнего дня до следующего рабочего дня, то, предполагая, что is_oper_day
представляет собой логическое значение, а 1
означает, что это рабочий день, вы можете использовать:
SELECT MIN(oper_day) - TRUNC(SYSDATE) AS num_working_days
FROM table_name
WHERE oper_day > TRUNC(SYSDATE)
AND is_oper_day = 1;
Если вам нужно количество дней с определенного дня (например, 2023-02-10
), замените TRUNC(SYSDATE)
на конкретную дату:
SELECT MIN(oper_day) - DATE '2023-02-10' AS num_working_days
FROM table_name
WHERE oper_day > DATE '2023-02-10'
AND is_oper_day = 1;
Это будет подсчитывать количество дней до следующей строки в таблице независимо от значения
is_oper_day
для следующей строки.