Pessoal venho recorrer a voces mais uma vez.. estou com um prob que não estou conseguindo resolver
preciso tira as horas entre este horario
08:00 as 20:00 hs
estou fanzendo desse jeito mais esta retonando errado.
--SELECT TO_NUMBER( (dt_ini - dt_fim)) * 12
--FROM DUAL;
* 12 porque são 12 horas trabalhadas so que se eu coloco o dia 01/10/2012 08:00 a 01/10/2012 a 20:00 ele me retorna 0 hora eu preciso que me retorne 12 horas .
Outro exemplo se eu passo do dia 01/10/2012 08:00 a 05/10/2012 a 20:00 ele me retorna 48 horas e não 60 horas
espero que tenho sido claro, ficou um pouco confuso..
obrigado pela atenção
duvidas calculo de horas
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Olá dark_negro,
Me chama atenção na sua querie que você está tentando subtrair a DATA INICIAL da DATA FINAL, deveria ser exatamente o contrário (FINAL-INICIAL), pois senão você terá um valor negativo.
Não sei como você está formatando a data dentro da querie, mas eu procuro sempre informar uma máscara para que as horas não sejam desconsideradas.
Exemplo:
Abraços,
Sergio Coutinho
Me chama atenção na sua querie que você está tentando subtrair a DATA INICIAL da DATA FINAL, deveria ser exatamente o contrário (FINAL-INICIAL), pois senão você terá um valor negativo.
Não sei como você está formatando a data dentro da querie, mas eu procuro sempre informar uma máscara para que as horas não sejam desconsideradas.
Exemplo:
SQL> SELECT TO_NUMBER(TO_DATE('05/10/2012 20:00:00','DD/MM/RRRR HH24:MI:SS')-TO_DATE('01/10/2012 08:00:00','DD/MM/RRRR HH24:MI:SS')) *12 AS DIFERENCA FROM DUAL
DIFERENCA
----------
54
Sergio Coutinho
obrigado STCOUTINHO consegui acertar e resolver
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes