Как посчитать, сколько дней осталось от сегодняшнего до следующего рабочего дня?

У меня есть таблица рабочего дня, например, сегодня 10.02.2023

операционный_день is_oper_day 09.02.2023 1 10.02.2023 1 11.02.2023 0 12.02.2023 0 13.02.2023 1 14.02.2023 1

Я хочу рассчитать счетный день с сегодняшнего дня на следующий рабочий день

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте следующее:

select min(oper_day)-&v_ref_date
from oper_calendar
where oper_day>&v_ref_date

Это будет подсчитывать количество дней до следующей строки в таблице независимо от значения is_oper_day для следующей строки.

MT0 13.02.2023 12:18
Ответ принят как подходящий

Если вам нужно количество дней с сегодняшнего дня до следующего рабочего дня, то, предполагая, что 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;

рабочий пример

Другие вопросы по теме