Oracle produce un sistema di gestione di database relazionale che detengono i dati in tabelle . Ogni tabella contiene le colonne che devono essere dato un tipo di dati . Oracle ha un tipo di dati speciale per le date. Il tipo di dati data Oracle contiene sia la data e l'ora . Questo consente una migliore comparazione e la manipolazione di date che se fossero solo i campi di testo . Data Restrizioni
Il tipo di dati speciale consente la convalida automatica dei dati . State date detenute come stringhe di testo , il programmatore sviluppo di un metodo di inserimento dati avrebbero bisogno di effettuare dei controlli che la data era entrato in un formato valido , per esempio , dato che il giorno era possibile nel mese dato . Mentre si occupano di date , molti programmatori spesso dimenticano l'elemento tempo è presente in ogni data memorizzata nel database. Se la data inserita nel database non include una volta , il valore predefinito è "00:00 ". Se un elemento di tempo viene inserito nel database , il formato della data assicura che i numeri che compongono quel momento sono in un formato valido .
Data rappresentazione
differenze di orario in date sono spesso trascurati a causa delle due diverse rappresentazioni date nel sistema Oracle . I valori contenuti nella banca dati non seguono qualsiasi formato di data riconosciuti . Essi sono memorizzati come un numero che rappresenta il numero di secondi dal 1 ° gennaio 4712 aC . Tuttavia, questo numero è raramente indicata , anche una query direttamente dall'interno date il sistema operativo del database vengono visualizzati in un dato formato della data . Se una query su una colonna data non include un formato di data , la data viene estratto nel formato data di default , che è " DD - MON - YY . "
Time Difference < br >
una colonna popolato da una funzione di data conterrà automaticamente la data e l'ora corretta . Esempi di questo sono le colonne popolate utilizzando la funzione sysdate . SYSDATE dà la data e l'ora corrente , che ottiene a partire dalla data e l'ora del database . Così , alcuni valori potrebbero contenere date con il vuoto "00:00" e altri hanno tempo reale attaccato . Tuttavia , se " 01-JAN-2011 00:00" e "01 -Gen-2011 14:20 " sono entrambi interrogati dal database , saranno entrambi appaiono come "01 - JAN - 11," in modo che ricevano la stesso .
Problemi
programmatori Oracle spesso dimenticano l'elemento tempo in cui confrontare le date . Ciò può causare i programmi per sembrano comportarsi in modo non corretto . Quando i record di elaborazione rispetto a una data o una funzione del tempo, il programmatore potrebbe essere mistificata sul motivo per cui un comando per manipolare tutti i record con un valore di colonna data di sysdate -4 ( quattro giorni fa ) non trova molti record che avrebbe dovuto intrappolati . Questo è a causa della differenza di tempo tra i due valori . Un confronto con sysdate -4 solo darà record con lo stesso tempo come l'ora corrente , ma quattro giorni prima . Quando si lavora con le date, i programmatori dovrebbero ricordare a scontare l'elemento tempo utilizzando la funzione TRONCA ( ) .