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 poderosos usados para processar valores de data, Oracle SQL fornece um método para determinar a diferença entre dois pontos no tempo. Oracle não tem formatos separados para datas e horários, mas usa um único formato de data que consiste tanto a data e hora em uma coluna.
Coisas que você precisa
- banco de dados oracle
- ferramenta SQL interativo
Encontre duas colunas de data em um banco de dados Oracle. O exemplo usa uma data estática ea sysdate (data do sistema). Suponha que o atual sistema data é 1 de Janeiro de 2010 às 12:00 dupla é um built-in do Oracle relação sistema que seja útil para consultas de teste que não são dependentes de uma tabela específica. Utilize este comando para exibir os dois valores de data.
selecionar
to_char (`01 / 01/2010 `,` DD-MM-AAAA HH24: MI: SS `) como "Tempo mais cedo",
to_char (sysdate, `HH24 DD-MM-AAAA: MI: SS`) como "Hora atual"
do dual;
Tempo anteriormente | Hora atual
------------------------------ | ----------------------------;
01/01/2010 00:00:00 | 01/01/2010 00:00:00
Alterar a consulta para subtrair o valor do tempo atual a partir do valor de tempo antes. O resultado é o número de dias entre os dois valores de data. A porção para a esquerda do ponto decimal representa dias, e a parte à direita representa qualquer parte fraccional de um dia.
selecionar
to_char (`01 / 01/2010 `,` HH24 DD-MM-AAAA: MI: SS `);
to_char (sysdate, `HH24 DD-MM-AAAA: MI: SS`) como "diferença"
do dual;
diferença
0,25
Altere a consulta para multiplicar o resultado por 24 para converter o valor fracionário de horas.
selecionar
(To_char (`01 / 01/2010 `,` DD-MM-AAAA HH24: MI: SS `);
to_char (sysdate, `HH24 DD-MM-AAAA: MI: SS`) * 24 como "horas"
do dual;
horas
6
dicas & avisos
- Use a função to_char para variar o formato dos campos de data.
- Utilizar o mesmo procedimento para determinar o número de semanas entre duas datas, alterando o "multiplicar por 24" para "dividir por 7."
- Não adicionar, multiplicar ou dividir valores de data.