Время в часах или часах и минутах SQL Server - PullRequest
1 голос
/ 29 ноября 2011

Мне нужно рассчитать производительность.

Productivity = some count/ no of Hrs

У меня есть время в HH:MM

Например, если я беру время 1 hrs 30 minutes

Производительность будет

Productivity = some count / 1.3?

ИЛИ

Productivity = some count / 1.5?

Ответы [ 2 ]

3 голосов
/ 29 ноября 2011

Если у вас есть 1 час 30 минут, то это 1,5 часа. Вы хотели бы принять ваш расчет как: yourValue / 1.5, чтобы получить производительность в units / Hour

Вы, вероятно, захотите что-то вроде:

SELECT DATEPART(HOUR, @yourTime) + (DATEPART(MINUTE, @yourTime) / 60.) AS pHours;

или более подробно что-то вроде этого, где @Time - сколько времени заняло задание:

SELECT @workAccomplished /
   (DATEPART(HOUR, @Time) + (DATEPART(MINUTE, @Time) / 60.)) AS Productivity;

Если бы вы делили на 1,3, вы бы рассчитали 1 час и 18 минут, а 0,3 часа = 18 минут.

0 голосов
/ 29 ноября 2011
        declare @workaccomplished int = 240
        declare @timeworked int = (SELECT DATEDIFF(hour, '2007-05-07 09:53:01', '2007-05-08 09:53:01'))

        --datediff parameters: hour, startingtime , endtime
        declare @productivity numeric(8,4) = @workaccomplished / @timeworked

        select @productivity 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...