|
Функция для подсчета рабочих дней (без выходных и праздников)
|
|||
---|---|---|---|
#18+
Всем здравствуйте. Внезапно возникла необходимость написать функцию в оракле, оказалось что от обычного sql сильно отличается. Коллеги "посоветовали" использовать курсор или коллекцию, т.к. про курсоры инфы больше, остановилась на них. Из исходных данных имеются только дата начала, дата окончания и календарь с праздниками. Сам курсор .... cursor publicholiday is select trunc(holiday) --праздники from calendar where holiday between date_start and date_end --ищу праздники в конкретном промежутке v_test publicholiday%rowtype; begin open publicholiday; LOOP exit then publicholiday%notfound; END LOOP; close publicholiday; fetch publicholiday into v_test; --теперь нужно посчитать количество выходных\праздников чтобы потом вычестеть из разницы date_end-date_start while date_start <=date_end LOOP if to_char(date_start, 'd') in (6,7) --определяю выходные then hday:=1; else hday:=0; end if; .... не понятно что с курсором то дальше делать:( вариант просто считать количество праздников в calendar не подходит, нужно именно сверять дни. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 19:23 |
|
Функция для подсчета рабочих дней (без выходных и праздников)
|
|||
---|---|---|---|
#18+
Ksana666 Всем здравствуйте. Внезапно возникла необходимость написать функцию в оракле, оказалось что от обычного sql сильно отличается. Коллеги "посоветовали" использовать курсор или коллекцию, т.к. про курсоры инфы больше, остановилась на них. Из исходных данных имеются только дата начала, дата окончания и календарь с праздниками. Сам курсор Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
не понятно что с курсором то дальше делать:( вариант просто считать количество праздников в calendar не подходит, нужно именно сверять дни. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 20:04 |
|
Функция для подсчета рабочих дней (без выходных и праздников)
|
|||
---|---|---|---|
#18+
Ksana666 оказалось что от обычного sql сильно отличается. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 21:28 |
|
Функция для подсчета рабочих дней (без выходных и праздников)
|
|||
---|---|---|---|
#18+
Ksana666 Из исходных данных имеются только дата начала, дата окончания и календарь с праздниками ... не понятно что с курсором то дальше делать:( вариант просто считать количество праздников в calendar не подходит, нужно именно сверять дни. Осталось разъяснить уважаемому собранию, что, собственно, от "Функции для подсчета рабочих дней" требуется и зачем надо "именно сверять дни" - из Вашего описания лично мне это совсем не очевидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 21:35 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1881561]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 154ms |
0 / 0 |