Sådan konstateres det antal timer mellem to gange i Oracle SQL

May 5

Sådan konstateres det antal timer mellem to gange i Oracle SQL

Structured Query Language (SQL) er den mest udbredte metode til at hente og manipulere data lagret i en Oracle database. Ud over andre magtfulde kommandoer, der bruges til at behandle datoværdier, Oracle SQL giver en metode til at bestemme forskellen mellem to tidspunkter. Oracle har ikke særskilte formater for datoer og tidspunkter, men bruger en enkelt dato format, der består af både dato og klokkeslæt i en kolonne.

Vejledning


• Find to date kolonner i en Oracle-database. Eksemplet bruger en statisk dato og SYSDATE (system dato). Antag, at det nuværende system dato er 1 Januar 2010 ved 12:00 Dual er en indbygget i Oracle-system relation, der er nyttige for test forespørgsler, der ikke er afhængig af en bestemt tabel. Brug denne kommando til at vise de to datoværdier. Vælg to_char ('01 / 01/2010 ',' DD-MM-ÅÅÅÅ HH24: MI: SS «) som" Tidligere Time ", to_char (SYSDATE," DD-MM-ÅÅÅÅ HH24: MI: SS ") som" Current Time "fra dobbelt; Tidligere tidspunkt | Aktuel tid ------------------------------ | -------------- --------------- 01-01-2010 00:00:00 | 01-01-2010 00:00:00

• Rediger forespørgslen til at fratrække den aktuelle tidsværdi fra det tidligere tidsværdi. Resultatet er antallet af dage mellem de to datoværdier. Delen til venstre for decimaltegnet repræsenterer dage, og den del til højre repræsenterer enhver brøkdel af en dag. Vælg to_char ('01 / 01/2010 ',' DD-MM-ÅÅÅÅ HH24: MI: SS ") - to_char (SYSDATE," DD-MM-ÅÅÅÅ HH24: MI: SS ") som" forskel "fra dobbelt; forskel -------------- 0.25

• Rediger forespørgslen til multipliceres resultatet med 24 for at konvertere fraktioneret værdi til timer. vælge (to_char ('01 / 01/2010 ',' DD-MM-ÅÅÅÅ HH24: MI: SS) - to_char (SYSDATE, "DD-MM-ÅÅÅÅ HH24: MI: SS«) * 24 som "timer" fra dobbelt, timer ---------------- 6