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)-
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
-
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
-
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