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.
Algo parecido com isto?
SELECT datediff(minute, coalesce((select min(t2.inicio) from tabela t2 where t2.inicio>t1.fim), t1.fim), t1.fim
from tabela t1
fiz aqui e deu cálculou errado.
exemplo abaixo era pra dar 10 segundos.
E qual foi o valor que deu?
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?
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…
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
como faço pra retornar no formato hh:mm?
select CAST((diferencaH) as nvarchar(200))+':'+ CAST(diferencaM as nvarchar(200),*
from (
SELECT datediff(hour, t1.termino, coalesce(
(select min(t2.INICIO)
from QRCODE t2
where t2.INICIO>t1.termino), t1.termino)) as diferencaH,
datediff(minute, t1.termino, coalesce(
(select min(t2.INICIO)
from QRCODE t2
where t2.INICIO>t1.termino), t1.termino))%60 as diferencaM,
t1.*
FROM QRCODE t1
)
2 curtidas
Obrigado man!
1 curtida