Умножьте разницу часов между начальной датой = 00:00:00 и конечной датой ЧЧ: мм: сс на значении с плавающей запятой - PullRequest
0 голосов
/ 19 апреля 2019

Мне нужно рассчитать энергопотребление, и оно рассчитывается как средняя мощность в час, умноженная на количество часов, отработанных в день.Могу ли я умножить значение на часы с датой между двумя датами, временем начала и времени всегда будет час 00, а конечной датой будет системное время.Я попробовал этот код, но он мне не помог.

SELECT @APower24Cell = AVG((CAST(ACurrent24Cell as FLOAT)*CAST(AVoltage3Sec as FLOAT))/10)/1000 ,
@BPower24Cell =  AVG((CAST(BCurrent24Cell as FLOAT)*CAST(BVoltage3Sec as FLOAT))/10)/1000 ,
@CPower24Cell =  AVG((CAST(CCurrent24Cell as FLOAT)*CAST(CVoltage3Sec as FLOAT))/10)/1000 ,
@APower35Cell =  AVG((CAST(ACurrent35Cell as FLOAT)*CAST(AVoltage3Sec as FLOAT))/10)/1000 ,
@BPower35Cell =  AVG((CAST(BCurrent35Cell as FLOAT)*CAST(BVoltage3Sec as FLOAT))/10)/1000 ,
@CPower35Cell =  AVG((CAST(CCurrent35Cell as FLOAT)*CAST(CVoltage3Sec as FLOAT))/10)/1000 
FROM Energomonitoring 
WHERE TS >= DATEADD(HOUR,-24,GETDATE()) GROUP BY TS

SET @FULLPOWER = (@APower24Cell+@BPower24Cell+@CPower24Cell+@APower35Cell+@BPower35Cell+@CPower35Cell) * DATEDIFF(hour, dateadd(hour, datepart(hour,GETDATE()),CAST(convert(varchar(20),getdate(),112) as datetime)), GETDATE())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...