Oracle ger en relationsdatabas system databashantering som håller data i tabeller . Varje tabell innehåller kolumner , som måste ges en datatyp . Oracle har en speciell datatyp för datum . Oracle datum datatypen innehåller både datum och tid . Detta möjliggör bättre jämförelse och manipulation av datum än om de bara textfält . Datumbegränsningar
speciell datatyp möjliggör automatisk validering av data . Vore datum innehas som textsträngar , skulle programmeraren att utveckla en metod för datainmatning behöver för att utföra kontrollerna att datumet angav var i ett giltigt format , till exempel , att dagen gavs var möjligt i en viss månad . Samtidigt som arbetar med datum , många programmerare glömmer ofta tiden elementet är närvarande på varje dag som lagras i databasen . Om en dag in i databasen inte innehåller en tid , sätts de till " 0:00 . " Om en tid elementet sätts in i databasen , ser datumformatet att siffrorna som utgör den tiden är i ett giltigt format .
datum representation
tidsskillnader på datum förbises ofta på grund av de två olika representationer av datumen i Oracle -systemet . De värden som innehas i databasen följer inte någon erkänd datumformat . De lagras som ett tal som representerar antalet sekunder sedan 1 januari , 4712 BC . Dock är detta antal sällan visade , även en direkt fråga från i databasen operativsystem datum visas i ett givet datum format . Om en fråga på en datumkolumn inte innehålla ett datum format , är den dag utvinns i standard datumformat , som är " DD - MÅN - YY . " Addera ditt Tidsskillnad
en kolonn befolkas av ett datum funktion kommer automatiskt att innehålla en ordentlig datum och tid . Exempel på detta är kolumner befolkade med hjälp SYSDATE funktionen . SYSDATE ger aktuellt datum och tid , som de får från systemets datum och tid för databasen . Således , vissa värden kan innehålla datum med tomma " 00:00 " och andra har äkta tid bifogas . Men om " 01-JAN-2011 00:00 " och " 01 - jan-2011 14:20 " båda frågas ut av databasen , kommer de båda visas som " 01 - JAN - 11 , " så de kommer att se samma .
Problem
Oracle programmerare glömmer ofta om den tid elementet när man jämför datum . Detta kan medföra att program verkar bete sig felaktigt . När förädling jämfört med ett datum eller tid funktion , kan programmeraren vara förbryllad till varför ett kommando för att manipulera alla poster med ett datumkolumn värde SYSDATE - 4 ( fyra dagar sedan ) missar många poster som det borde ha fastnat . Detta är på grund av tidsskillnaden för de två värdena . En jämförelse med SYSDATE - 4 kommer bara att ge skivor med samma tid som den aktuella tiden , men fyra dagar innan. Vid drift med datum , bör programmerare ihåg att diskontera tiden elementet med hjälp av TRUNC ( ) funktionen .