Oracle levert een relationele database management systeem dat gegevens in tabellen te houden . Elke tabel bevat kolommen , die moeten worden voorzien van een gegevenstype . Oracle heeft een speciaal gegevenstype voor data . De Oracle datum datatype bevat zowel de datum en tijd . Dit maakt een betere vergelijking en de manipulatie van data dan wanneer ze gewoon tekstvelden waren . Beperkingen datum De speciale datatype maakt automatische validatie van de gegevens . Werden data gehouden als tekenreeksen , de programmeur het ontwikkelen van een data-entry methode zou moeten controles dat de ingevoerde datum was in een geldig formaat, bijvoorbeeld , dat de dag gegeven was mogelijk in de gegeven maand uit te voeren. Terwijl de behandeling met data , veel programmeurs vaak vergeten het tijdselement aanwezig op elke datum in de database . Als een datum ingevoegd in de database bevat geen tijd , wordt standaard " 0:00 . " Als een tijdselement wordt ingebracht in de databank , de datumnotatie zorgt ervoor dat de nummers die deel uitmaken van die tijd in een geldig formaat hebben . Datum Vertegenwoordiging Time verschillen op data worden vaak over het hoofd gezien vanwege de twee verschillende representaties van data in de Oracle -systeem . De waarden die in de databank niet volgen enige erkende datumnotatie. Ze worden opgeslagen als een getal dat het aantal seconden sinds 1 januari 4712 voor Christus vertegenwoordigt . Echter , dit aantal is zelden getoond , zelfs een directe vraag vanuit het besturingssysteem data van de database worden weergegeven in een bepaalde datumnotatie . Als een query op een datum kolom bevat geen datumnotatie , wordt de datum gewonnen in de standaard datum formaat, dat is ' DD - MON - YY . " Time Difference < br > een column bevolkt door een datum -functie automatisch bevatten een juiste datum en tijd . Voorbeelden hiervan zijn kolommen gevuld met de sysdate functie . Sysdate geeft de huidige datum en tijd waarop het wordt uit het systeem datum en tijd van de database. Dus , sommige waarden kunnen data met de lege " 00:00 " en anderen bevatten hebben echte tijd bevestigd . Echter, als " 01-JAN-2011 00:00 " en " 01 - JAN - 2011 14:20 " zijn zowel opgevraagd uit de database , zullen ze beiden verschijnen als " 01 - JAN - 11 , " zodat ze eruit zal zien de hetzelfde . Problemen Oracle programmeurs vaak vergeet de tijd element bij het vergelijken van data . Dit kan programma's te lijken verkeerd gedragen veroorzaken . Bij het verwerken van gegevens in vergelijking met een datum of tijd -functie , kan de programmeur zijn verbijsterd over de vraag waarom een opdracht om alle records te manipuleren met een datum kolom waarde van sysdate - 4 ( vier dagen geleden ) mist veel records dat het moet hebben gevangen . Dit is vanwege het tijdsverschil van de twee waarden . Een vergelijking met sysdate - 4 geeft alleen records met dezelfde tijd als de huidige tijd , maar vier dagen voor . Bij het werken met data , moeten programmeurs vergeten om het tijdselement korting door gebruik te maken van de trunc ( ) -functie .
|