SQL Server - Cálcular diferença de horas entre início e término de linhas diferentes
10 respostas
sqlserver
C
cleitonti
Pessoal, boa noite!
pessoal a ideia é fazer o seguinte, pegar a data término e subtrair pela data de início do registor seguinte como mostra na imagem abaixo.
tentei de tudo e não conseguir fazer isso.
A ideia da consulta é retornar a quantidade de tempo que ficou ocioso o setor.
fiz aqui e deu cálculou errado.
exemplo abaixo era pra dar 10 segundos.
pmlm
E qual foi o valor que deu?
Cleiton_Conceicao
pmlm
Duas questões:
A diferença está a ser mostrada em minutos, se quiseres segundos tens de alterar o primeiro parametro do datediff
De certeza que nao trocaste nenhum inicio/fim na adaptação da query para o teu caso? Parece estar a devolver a diferença entre a data de inicio atual e a data de inicio seguinte
Podes colocar exatamente a query que estas a fazer?
Cleiton_Conceicao
SELECT datediff(minute, coalesce((select min(t2.INICIO) from QRCODE t2 where t2.INICIO>t1.INICIO), t1.INICIO),
t1.INICIO),* FROM QRCODE t1
estou fazendo assim…
pmlm
La esta, trocaste inicio com termino:
SELECT datediff(second, coalesce((select min(t2.INICIO) from QRCODE t2 where t2.INICIO>t1.termino), t1.termino),
t1.termino),* FROM QRCODE t1
Para não dar valores negativos:
SELECT datediff(second, t1.termino, coalesce((select min(t2.INICIO) from QRCODE t2 where t2.INICIO>t1.termino), t1.termino)),* FROM QRCODE t1