Para calcular a diferença em horas entre duas datas no Oracle, você pode utilizar a função TO_DATE
para converter as strings de data em valores de data e hora. Em seguida, é possível subtrair as duas datas para obter a diferença em horas. Aqui está um exemplo de como fazer isso:
-- Supondo que você tenha duas strings de data no formato 'dd/mm/yyyy hh24:mi:ss' -- Exemplo: -- Data inicial: '01/06/2023 10:30:00' -- Data final: '02/06/2023 14:45:00' -- Primeiro, converta as strings de data para valores de data e hora SELECT TO_DATE('01/06/2023 10:30:00', 'DD/MM/YYYY HH24:MI:SS') AS data_inicial, TO_DATE('02/06/2023 14:45:00', 'DD/MM/YYYY HH24:MI:SS') AS data_final FROM DUAL; -- Em seguida, subtraia as duas datas para obter a diferença em dias SELECT TO_DATE('02/06/2023 14:45:00', 'DD/MM/YYYY HH24:MI:SS') - TO_DATE('01/06/2023 10:30:00', 'DD/MM/YYYY HH24:MI:SS') AS diferenca_em_dias FROM DUAL;
O resultado será 28.25
, o que significa que a diferença entre as duas datas é de 28 horas e 15 minutos.
Lembre-se de que as datas e horas no Oracle são armazenadas no formato interno e que a exibição pode variar dependendo das configurações de localidade e formato de data do banco de dados. Certifique-se de adaptar o formato da função TO_DATE
de acordo com o formato real das suas strings de data.