O gerente banco de dados Oracle pode armazenar vários tipos de dados em campos de banco de dados , incluindo cordas legíveis com datas e horas. Calculando a diferença exata entre dois momentos no tempo é uma operação muito comum, mas pode ser necessária para criar um novo campo , uma visão ou para filtrar os resultados de uma consulta. Você pode calcular a diferença de tempo precisas em suas tabelas Oracle e resultados da consulta. Instruções
1
Declare os campos guardar o início e cuja diferença de tempo você quer finalmente para calcular como tendo tipo TIMESTAMP final. O tipo TIMESTAMP é a que permite a mais alta precisão , até frações de segundo . Por exemplo, definir sua tabela da seguinte forma:
CREATE TABLE times_for_diff {
initial_time TIMESTAMP ,
final_time TIMESTAMP
};
2
Preencha sua tabela usando a função apropriada para converter entre um tipo e TIMESTAMP legível. Normalmente, as datas e horários são codificados como strings. Este código de exemplo insere um registro na tabela de exemplo :
INSERT INTO times_for_diff ( initial_time , final_time )
VALUES ( to_timestamp ( '30 .5.1990:12:00:00 ',' DD . MM.YYYY : HH24 : MI : SS ' ) ,
TO_TIMESTAMP ( '31 .7.1992:14:00:00 ', ' DD.MM.YYYY : HH24 : MI : SS' )
);
COMMIT ;
o tempo inicial da amostra é meio-dia , 30 de maio de 1990; o tempo final é de 2 horas, 31 de julho de 1993
< br. > 3
Calcular a diferença usando o operador integrado Oracle que subtrai um timestamp de outro , como se segue :
SELECT ( final_time - initial_time )
dE times_for_diff ;
o resultado da consulta será composto de a diferença entre as duas vezes em cada linha da tabela " times_for_diff " .