The Oracle database leder kan gemme flere datatyper i databasen områder, herunder menneskeligt læsbare strenge med datoer og tidspunkter . Beregning den nøjagtige forskel mellem to øjeblikke i tid er en meget almindelig operation , og det kan være nødvendigt for at oprette et nyt felt , en visning eller til at filtrere resultaterne af en forespørgsel. Du kan beregne præcise tidsforskelle i din Oracle tabeller og forespørgselsresultater . Instruktioner
1
Erklær felterne lagring af begynder og slutter tid , hvis forskel, du i sidste ende ønsker at beregne som havende typen TIMESTAMP . Den type TIMESTAMP er den, der giver dig den højeste præcision, ned til brøkdele af et sekund . For eksempel definere din tabel som følger : Hej
CREATE TABLE times_for_diff {
initial_time TIMESTAMP , salg
final_time TIMESTAMP
};
2
Udfylde bord med den relevante funktion at konvertere mellem et menneske-læsbart type og TIMESTAMP . Typisk datoer og tidspunkter kodet som strenge. Denne prøve kode indsætter en rekord i prøven tabellen : Hej
INSERT INTO times_for_diff ( initial_time , final_time )
VALUES ( TO_TIMESTAMP ( '30 .5.1990:12:00:00 ',' DD . mm.åååå : HH24 : MI: SS ),
TO_TIMESTAMP ( 31. .7.1992:14:00:00 ',' DD.MM.YYYY : HH24 : MI: SS ' )
< p> )
COMMIT ,
prøven indledende middag 30. maj 1990; sidste gang er 02:00 , 31 jul 1993
< br . > 3
Beregn forskellen ved hjælp af den indbyggede Oracle operatør, der trækker et tidsstempel fra en anden , som følger : Hej
SELECT ( final_time - initial_time )
FROM times_for_diff ;
< p> udgangen af forespørgslen vil bestå af forskellen mellem de to gange i hver række af " times_for_diff " tabellen.