Structured Query Language (SQL ) är den mest använda metoden för att hämta och manipulera data som lagras i en Oracle -databas . Förutom andra kraftfulla kommandon som används för att behandla datumvärden ger Oracle SQL en metod för att bestämma skillnaden mellan två tidpunkter . Oracle har inte separata format för datum och tider , men använder en enda datumformat som består av både datum och tid i en kolumn
Du behöver : .
Oracle databas
. Interaktiv SQL verktyg .
1 .
Hitta två datum kolumner i en Oracle -databas . I exemplet används en statisk datum och SYSDATE ( system datum) . Antag att det nuvarande systemet datumet är 1 januari 2010 kl 12:00 Dual är en inbyggd Oracle system förhållande som är användbar för att testa frågor som inte är beroende av en särskild tabell. Använd detta kommando för att visa två datumvärden .
välj
to_char ( ༽ /01/2010 ', ' DD-MM-ÅÅÅÅ HH24 : MI : SS ' ) som " tidigare tidpunkt " ,
to_char ( SYSDATE , " DD-MM-ÅÅÅÅ HH24 : MI : SS ' ) som " Aktuell tid "
från dubbel ,
Tidigare Tid | Aktuell tid
---------------- -------------- | -----------------------------
2010/01/01 00:00:00 | 2010/01/01 12:00:00
2 .
Ändra frågan till subtrahera den aktuella tiden värdet från tidigare tidsvärde . Resultatet är antalet dagar mellan de två datumvärden . Den del till vänster om decimalkommat representerar dagar , och den del till höger representerar någon decimaldelen av en dag.
välj
to_char ( ༽ /01/2010 ', ' DD-MM-ÅÅÅÅ HH24 : MI : SS ' )-
to_char ( SYSDATE , " DD-MM-ÅÅÅÅ HH24 : MI : SS ' ) som " skillnad "
från dubbla ,
skillnad
----------- ---
0 . 25
3 .
Ändra frågan till resultatet multipliceras med 24 för att konvertera fraktionerad värde till timmar .
väljer
( to_char ( ༽ /01/2010 ', ' DD-MM-ÅÅÅÅ HH24 : MI : SS ' )-
to_char ( SYSDATE , " DD-MM-ÅÅÅÅ HH24 : MI : SS ' ) * 24 som " timmar "
från dubbla ,
timmar
----------------
6
tips och varningar
Använd to_char funktion att variera format datumfälten . Använd samma procedur för att fastställa antalet veckor mellan två datum genom att ändra " multiplicera med 24 "till " dividera med 7 . " Lägg inte , multiplicera eller dividera datumvärden .