Como determinar o número de horas entre dois tempos no Oracle SQL

Autor: Sara Rhodes
Data De Criação: 12 Fevereiro 2021
Data De Atualização: 27 Abril 2024
Anonim
Como determinar o número de horas entre dois tempos no Oracle SQL - Artigos
Como determinar o número de horas entre dois tempos no Oracle SQL - Artigos

Contente

O Structured Query Language (SQL) é o método mais utilizado para recuperar e manipular dados armazenados em um banco de dados Oracle. Além de outros comandos potentes utilizados para processar os valores dos dados, o Oracle SQL proporciona um método para determinar a diferença entre dois pontos no tempo. O Oracle não possui formatos separados para datas e horários, mas utiliza um formato de data única, que consiste tanto em data quanto em hora em uma coluna.


Instruções

O Oracle SQL pode determinar o número de horas entre dois tempos (hour image by Mykola Velychko from Fotolia.com)
  1. Encontre duas colunas de data em um banco de dados Oracle. O exemplo usa uma data estática e a sysdate (data do sistema). Suponha que a data atual do sistema é 1 de Janeiro de 2010 às 12:00. Dual é uma relação embutida do sistema Oracle que é útil para testar as consultas que não são dependentes de uma tabela específica. Utilize este comando para exibir os dois valores de data.

    select to_char('01/01/2010', 'DD-MM-YYYY HH24:MI:SS') as "Earlier Time", to_char(sysdate, 'DD-MM-YYYY HH24:MI:SS') as "Current Time" from dual;

    Earlier Time | Current Time ------------------------------ | ----------------------------- 01/01/2010 00:00:00 | 01/01/2010 12:00:00


  2. Altere a consulta para subtrair o valor da hora atual do valor do horário anterior. O resultado é o número de dias entre os dois valores de data. A porção restante do ponto decimal representa dias, e a parte à direita representa qualquer parte fracionada de um dia.

    select to_char('01/01/2010', 'DD-MM-YYYY HH24:MI:SS') - to_char(sysdate, 'DD-MM-YYYY HH24:MI:SS') as "difference" from dual;

    difference

    0.25

  3. Altere a consulta para multiplicar o resultado por 24 para converter o valor fracionário de horas.

    select (to_char('01/01/2010', 'DD-MM-YYYY HH24:MI:SS') - to_char(sysdate, 'DD-MM-YYYY HH24:MI:SS') * 24 as "hours" from dual;

    hours

    6

Dicas

  • Usa a função to_char para variar o formato dos campos de data.
  • Use o mesmo procedimento para determinar o número de semanas entre as duas datas, alterando o "multiply by 24" (multiplicar por 24) por "divide by 7" (dividir por 7).

Aviso

  • Não some, multiplique ou divida valores de data.

O que você precisa

  • Banco de dados Oracle
  • Ferramenta Interactive SQL