|
|
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
Коллеги, доброе утро. Возникла задача по подсчету минут, а именно: Есть две даты со временем 25.07.2017 14:15:01 и 28.07.2017 10:20:37 необходимо подсчитать количество прошедших минут т.е. подсчет необходим с 9-00 и до 18-00 результат получается 1265,00 минут Я сделал запрос, но он у меня считатет количество минут общее и я получаю 4086 минут, а не 1265 минут select floor((((to_date('25.07.2017 14:15:01','dd.mm.yyyy hh24.mi.ss')-to_date('28.07.2017 10:20:37','dd.mm.yyyy hh24.mi.ss'))*24*60*60)/3600)*60) ||'mm' from dual Подскажите может кто знает, каким образом можно сделать ограничение по подсчету ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 10:02 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
vlad2018, вычесть из результата периоды с 18-00 до 9-00 вошедшие в ваш временной промежуток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 10:08 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
Загги, Может у Вас есть пример универсальной формулы для вычитания из результата периоды с 18-00 до 9-00 вошедших во временной промежуток? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 10:14 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
Число_полных_дней*9+Начало+Остаток ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 10:39 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
vlad2018, есть: 1) 9 часов (обед в вашем условии не учитывается) умножаем на количество уникальных дат нашего периода 2) если время старта между 0-00 и 9-00, то добавляем разницу между 9-00 и временем старта 3) если время старта между 9-00 и 18-00, то вычитаем разницу между временем старта и 9-00 4) если время старта между 18-00 и 0-00, то вычитаем 9 часов 5) если время финиша между 0-00 и 9-00, то вычитаем 9 часов 6) если время финиша между 9-00 и 18-00, то вычитаем разницу между 18-00 и временем финиша 7) если время финиша между 18-00 и 0-00, то прибавляем разницу между временем финиша и 18-00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 10:41 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
vlad2018, обед а разность почему включаете? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 10:53 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
Stax, Что вы имеете ввиду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 10:54 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
Staxа разность почему включаете? все разночтения трактую в пользу сотрудника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 11:10 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
vlad2018Stax, Что вы имеете ввиду? с 9 по 18 обычно есть обеденный перерыв, и обычно его не включают во время зы нюасов много, напр в с-по вошел выходной, "корткий" день и тд ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 11:13 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
Stax, это да, но мне необходимо ежедневный подсчет не учитывая обеда и коротких рабочих дней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 11:38 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
vlad2018Stax, это да, но мне необходимо ежедневный подсчёт не учитывая обеда и коротких рабочих дней А выходные - праздники? По хорошему, это решается только справочником - календарём рабочего времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 11:51 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
Vadim Lejnin, выходные я не включаю в расчет, только будни Елсли можно пример кода.. как реализовать это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 11:58 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
vlad2018, Вам Загги 20878095 дал полный, как мне кажется, ответ. Подход в лоб будет как-то так Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 12:02 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
vlad2018Подскажите может кто знает, каким образом можно сделать ограничение по подсчету Код: 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. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 12:04 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
vlad2018, c помощью case описываете пункты Загги (с учетом Вашей спицифики) может и можно извратится и одной формулой (greatest/least тощо), но она будет громадной и мало читабельной для упрощения можно размножить записи по днях, напр 25.07.2017 14:15:01 по 28.07.2017 10:20:37 - 4 строки и их посчитать (просуммировать) зы на форуме 100% обсуждали ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 12:08 |
|
||
|
подсчет минут
|
|||
|---|---|---|---|
|
#18+
Да ну, Для одной даты начала и конца ошибся: Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 12:19 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39537906&tid=1885087]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 482ms |

| 0 / 0 |
