2014-02-17 4 views
0

Обычно я показываю только запись, если фактическая дата на один год позже даты в базе данных. Как я могу проверить, свободен ли этот день в пятницу, а затем показывать также записи с датой субботы или воскресенья?Если фактическая дата - пятница, также отображаются строки в субботу и воскресенье Oracle DB

Например: пятница 13-го числа до одного года. Я также покажу записи из 14 (суббота) и 15 (воскресенье)

where myDate.arrival < TRUNC (SYSDATE) -365) 

Это мое фактическое заявление.

+0

дело заявление? пользовательская функция? запрос по таблице выходных дней? вам нужно предоставить дополнительную информацию. – Randy

+0

Извините, мой оригинальный вопрос был неправильным. Я добавил некоторые данные – Christian

ответ

1
Where Mydate.Arrival < Trunc (Sysdate) - 365 
Or (to_char(Mydate.Arrival, 'D') = 6 AND Mydate.Arrival < Trunc (Sysdate) -363) 

Таким образом, вы можете проверить, если этот день пятница (шестой день недели), а затем выберите записи, в которых прибытие значение меньше SYSDATE - 363 (2 больше дней - суббота и воскресенье - включены).

+0

Thx. Я попробую это и приму ответ, как только это сработает. – Christian

2

Вам необходимо условие на случай. Проверьте пример ниже для справки:

WHERE txnday in 
    CASE to_char(sysdate, 'Day') 
     WHEN 'Friday' THEN // Include condition for Sat and Sun as well 
     ELSE // Include condition for only that day 
    END