Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
Есть выборка которая возвращает дату начала работы над задачей и дату конца работы над задачей одного человека. Нужно посчитать сколько времени (в секундах) работал человек над этой задачей с учётом рабочего времени с 9:00 до 18:00 (выходные дни можно считать за рабочие - это облегчает задачу). Есть такое: SecondsIdRevRevisedDateChangedDateProjectName2786994572017-11-30 16:02:58.0772017-11-27 10:37:59.640SPIvanov А должно получиться что-то типа такого: Name27.11.201728.11.201729.11.201730.11.2017Ivanov587928800288007142 здесь 27.11 - 5879 секунд это разница между 10:37:59 и 09:00 а 30.11 - 7142 секунд это разница между 16:02:58 и 18:00 а 28000 - это 8 часов рабочего времени. Куда хоть копать? ума не приложу как эту фиговину вытащить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:27 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
Создай (возможно, динамически) таблицу рабочего времени по дням, заведомо перекрывающую весь диапазон задачи - и всё станет легко и просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:32 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
Akina, А можно поподробнее, я не совсем понимаю. Это типа такой? date1date2......2017-11-28 09:00:00.0002017-11-28 18:00:00.0002017-11-29 09:00:00.0002017-11-29 18:00:00.0002017-11-30 09:00:00.0002017-11-30 18:00:00.000...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:38 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
MinistrBob, Попробуйте сначала правильно расставить временные интервалы: Наверное работы были начаты 27.11 а закончены 30.11. Из этого и получаем, что 27-го необходимо находить длительность период с 10:37:59 до 18:00, а 30.11 - с 9:00 до 16:02:58 . Ну а дальше календарь рабочих дней поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:43 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
MinistrBobЭто типа такой?Подойдёт... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:46 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
petre, На да при описании ошибся, вы правильно указали временные интервалы. А дальше то что делать? Откуда взять календарь рабочих дней и как он мне поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:59 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
Akina, А как их объединить, я чего-то не догоняю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 14:59 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
MinistrBob, Сочинил, думаю правильно: Код: sql 1. 2. 3. 4. Календарь можно сгенерировать по разному, неоднократно описывалось на форуме. Для теста можете вручную создать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 15:06 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
petre, Ооо, спасибо, буду пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 15:10 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
MinistrBob, в предыдущем запросе потерял два слова: Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 15:51 |
|
||
|
Как вычислить рабочее время для каждого дня в диапазоне дат?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. очередной офф-топик Какой там уже сервер на дворе? 2017. А год какой? 2018. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Ладно, регулярки сами по себе - зло, и только упертые будут реализовывать их, благо CLR есть. Но отсутствие скалярных MIN/MAX бесит уже на протяжении 13 лет. И если CASE на 2 переменных можно переварить, то когда нужно выбрать наименьшее из 3+ полей... оу еее... И не нужно мне рассказывать про Код: sql 1. - performance degrade убивает на корню всю красоту этого решения. При этом внедряются всяческие фичи вроде File Tables, Column Store Indexes, Sparse Columns, Memory Tables, которые реально использует с десяток контор... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2018, 18:26 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39581743&tid=1690549]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 382ms |

| 0 / 0 |
