Это общий выстрел в темноте, но вы упомянули вы хотели добавить два рабочих дня, и пример вы дали (январь 16 + 2 рабочих дней = 19 января) сообщает ты хочешь сказать, что хочешь пропустить выходные. Если это так, то я думаю, что что-то подобное может работать:
select
case
when phases is null and
insertiondate is null and
priority = 1 and
complexity = 'minor' then
case to_char(creationdate, 'D')
when '5' then to_char(creationdate + 4, 'DD/MM/YYYY')
when '6' then to_char(creationdate + 4, 'DD/MM/YYYY')
when '7' then to_char(creationdate + 3, 'DD/MM/YYYY')
else to_char(creationdate + 2, 'DD/MM/YYYY')
end
end
from test
В сущности, я делаю, перебор рабочего день расчет бедняка из «2-х рабочих дней», говоря в четверг и пятницу , 2 рабочих дня = 4 календарных дня, в субботу, 2 рабочих дня = 3 календарных дня, и все остальные дни 2 дня = 2 дня.
Это не шокирует меня, если это промахивается, но, возможно, это отправная точка для разъяснения.
Для следующих дней создания, она возвращает следующие результаты:
Creation date Result
1/15/2016 9:28:31 AM 19/01/2016
1/16/2016 9:41:49 AM 19/01/2016
1/17/2016 9:41:51 AM 19/01/2016
1/18/2016 9:41:52 AM 20/01/2016
1/19/2016 9:41:54 AM 21/01/2016
1/21/2016 9:42:00 AM 25/01/2016
Приведите пример вашей требуемой производительности и макет таблицы. – Bart
Что значит +2? добавить 2 дня в стоимость до даты? – sagi
Также укажите вашу СУБД. Функции даты широко варьируются в разных РСУБД. – Hambone