Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal bom dia,estou com uma grande duvida e peço a ajuda do pessoal,
eu estou usando sql server 2008,e eu tenho uma tabela por exemplo
PROD_PARADA,essa tabela tem os seguintes campos :
IDPrincipal,IDMaquina,Periodo_Inicial,Periodo_Fim,IDMotivo,DT_Just
Essa tabela,você representa uma maquina que ficou parada,
você tem um IDMaquina para os joins para informações da maquina,
um periodo inicial que é a data e hora que ficou parada
e o periodo final que é a data e hora que a maquina voltou a ativa e por
fim um Motivo para justificação da maquina parada.
Com as informações acima,consigo pegar quanto tempo a maquina ficou
parada, logo periodo_Fim - periodo_Inicial da esse tempo para min.
exemplo :
Periodo_inicial = 2011-09-20 11:00:00.477
Periodo_fim = 2011-09-20 15:00:00.343
percebos que a maquina ficou parada 4 horas.
o problema é que onde trabalho,existe 3 turnos que são eles :
1 turno - 06:00 até 13:59
2 turno - 14:00 até 21:59
3 turno - 22:00 até 05:59
---------------------------------------------------------------------
Como eu conseguiria fazer uma consulta,como resultado saisse a divisão
pelos turnos?
Obrigado desde já.
>
Membro,
Para poder fazer a subtração das datas é um calculo comum no SQL, agora para poder pegar por turnos você pode criar três consultas, colocando em cada uma delas o horário de inicio e fim de cada furno, e utilizar o UNION para que saia tudo na mesma consulta.
Tente fazer desta maneira se tiver dificuldades me envie um e-mail que monto a query para você
Abs
Aqui tem um post soh para datas:
http://forum.imasters.com.br/topic/224454-manipulando-data-no-sql-server-conteudo-alterado/
Usando o CASE seria possível.
Eu faria uma tabela de turnos
turno
-----
cod
nome
horainicial
horafinal
ficaria mais limpo.
Motta,
eu havia pensado em fazer isso,
porém não será possível.
Estou tentando ainda mas está difícil.
Tente o CASE apenas então.
Membro,
Para poder fazer a subtração das datas é um calculo comum no SQL, agora para poder pegar por turnos você pode criar três consultas, colocando em cada uma delas o horário de inicio e fim de cada furno, e utilizar o UNION para que saia tudo na mesma consulta.
Tente fazer desta maneira se tiver dificuldades me envie um e-mail que monto a query para você
Abs