Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.27;
Скачать: CL | DM;

Вниз

Как вычесть праздничные даты?   Найти похожие ветки 

 
sash2   (2003-10-07 14:24) [0]

Есть база.
В ней есть поля "ночало отпуска" и "дата окончания отпуска".
[b]Скажите пожалуйста, как из периода отпуска вычесть праздничные даты???[/b]
Например, если отпуск с 6 января(ночало отпуска) по 1 февраля(дата окончания отпуска). Встречается праздник 7 января. Если отпуск с 1 мая по 23 мая. Встречаетс 1, 2, 9 мая.


 
Johnmen ©   (2003-10-07 14:32) [1]

В потрепаться, там доходчиво объяснят :))))))))))))0


 
sniknik ©   (2003-10-07 14:42) [2]

примерный алгоритм, нужна табличка с датами праздников, начинаеш расчитывать отпуск с "ночало отпуска" и добавляеш по дню предварительно сверившись с вхождением в табличку с датами празников и выходными (естественно) если входит то следуюший день без изменений периода нет то минус "период отпуска", и так до нуля периода, текущая дата и будет искомой.

только смотри осторожнее, в связи с большим количеством праздников, можно проскочить год и зациклится. ;о))


 
Akni ©   (2003-10-07 14:44) [3]

Что значит "вычесть праздничные даты"?
Если под этим подразумевается подсчет именно РАБОЧИХ дней в отпуске, то алгоритм примерно след.:
1. завести еще одну таблицу, в которой хранить даты праздников (учитывая случаи попадания праздника на выходной день и переноса его на след. рабочий)
2. посчитать полное время отпуска: дата конца отпуска - дата начала + 1
3. пройтись в цикле от начала до конца отпуска и проверять, попадает ли на тек. дату выходной/праздничный день. Ели да, то отнимать 1 от полного времени отпуска.

Или под вычитанием праздничных дат что-то другое понималось?


 
MsGuns ©   (2003-10-07 15:57) [4]

Все решается запросом с конструкцией WHERE (dt BETWEEN <Дата начала> AND <Дата конца>) AND NOT IN (SELECT), где встроенный селест выбирает праздники, которые, ессно, должны быть в какой-то таблице-справочнике.



Страницы: 1 вся ветка

Текущий архив: 2003.10.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
4-89656
Aleksei K
2003-08-20 11:06
2003.10.27
VCL формы из DLL


14-89577
Ал
2003-10-07 10:51
2003.10.27
Почему CD-ROM Panasonic прекрасно читает CD,


14-89552
wHammer
2003-10-08 09:53
2003.10.27
Небольшая задачка для любителей!


8-89402
AlexT1000
2003-06-18 15:06
2003.10.27
алгорим подложки текстуры под битмап?


4-89644
ShadoWFM
2003-08-20 19:54
2003.10.27
Непонятная функйия