λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> λογισμικού βάσεων δεδομένων

Οι χρονικές διαφορές μεταξύ των δύο ημερομηνιών σε Oracle

Oracle παράγει ένα σχεσιακό σύστημα διαχείρισης βάσεων δεδομένων που διατηρεί δεδομένα σε πίνακες . Κάθε πίνακας περιέχει τις στήλες , οι οποίες θα πρέπει να δοθεί ένα τύπο δεδομένων. Η Oracle διαθέτει έναν ειδικό τύπο δεδομένων για τις ημερομηνίες . Η Oracle ημερομηνία τύπος δεδομένων περιέχει και την ημερομηνία και ώρα . Αυτό επιτρέπει την καλύτερη σύγκριση και το χειρισμό των ημερομηνιών από ό, τι αν ήταν μόνο πεδία κειμένου . Ημερομηνία Περιορισμοί
Η

Ο ειδικός τύπος δεδομένων επιτρέπει την αυτόματη επικύρωση των δεδομένων . Ήταν ημερομηνίες που κατέχονται ως συμβολοσειρές κειμένου , ο προγραμματιστής αναπτύσσει μια μέθοδο εισαγωγής δεδομένων θα πρέπει να διενεργούν ελέγχους που η ημερομηνία που ήταν σε έγκυρη μορφή , για παράδειγμα , ότι η ημέρα που δόθηκε ήταν δυνατή στο συγκεκριμένο μήνα . Παρόλο που ασχολούνται με τις ημερομηνίες , πολλοί προγραμματιστές συχνά ξεχνάμε το στοιχείο του χρόνου είναι παρούσα σε κάθε ημερομηνία που είναι αποθηκευμένη στη βάση δεδομένων . Εάν η ημερομηνία εισάγεται στη βάση δεδομένων δεν περιλαμβάνει χρόνο , από defaults θα είναι " 00:00 ". Εάν ένα στοιχείο του χρόνου εισάγεται στη βάση δεδομένων , η μορφή ημερομηνίας εξασφαλίζει ότι οι αριθμοί που συνθέτουν αυτή την ώρα είναι σε έγκυρη μορφή . οι
εικόνων Ημερομηνία Αντιπροσωπεία
Η

διαφορές ώρας στις ημερομηνίες που συχνά παραβλέπεται λόγω των δύο διαφορετικών αναπαραστάσεων ημερομηνίες στο σύστημα Oracle . Οι τιμές που φυλάσσονται στη βάση δεδομένων δεν ακολουθούν οποιαδήποτε αναγνωρισμένη μορφή ημερομηνίας . Αποθηκεύονται ως ένας αριθμός που αντιπροσωπεύει τον αριθμό των δευτερολέπτων από την 1η Ιανουαρίου , 4712 π.Χ. . Ωστόσο , ο αριθμός αυτός σπάνια εμφανίζονται , ακόμη και μια άμεση ερώτημα μέσα από τις ημερομηνίες του λειτουργικού συστήματος της βάσης δεδομένων εμφανίζονται σε μια συγκεκριμένη μορφή ημερομηνίας . Εάν ένα ερώτημα σε μια στήλη ημερομηνία δεν περιλαμβάνει μια μορφή ημερομηνίας , η ημερομηνία εξάγεται στην προεπιλεγμένη μορφή ημερομηνίας , η οποία είναι "DD - MON - YY . "

Η Διαφορά Ώρας

μια στήλη που κατοικείται από μια συνάρτηση η ημερομηνία θα περιέχουν αυτόματα μια σωστή ημερομηνία και ώρα . Παραδείγματα αυτού είναι οι στήλες που κατοικείται από τη χρήση της λειτουργίας SYSDATE . SYSDATE δίνει την τρέχουσα ημερομηνία και ώρα , που παίρνει από την ημερομηνία και ώρα συστήματος της βάσης δεδομένων . Έτσι , ορισμένες τιμές ενδέχεται να περιέχουν ημερομηνίες με το άδειο " 00:00 " και άλλοι έχουν πραγματικό χρόνο επισυνάπτεται . Ωστόσο , αν το " 01-JAN-2011 00:00 " και " 01 - JAN - 2011 14:20 " Οι δύο ερωτηθούν από τη βάση δεδομένων, θα εμφανιστεί και ως " 01 - JAN - 11 , " έτσι θα δούμε το ίδιο .
εικόνων Προβλήματα
Η

Oracle προγραμματιστές συχνά ξεχάσουμε το στοιχείο του χρόνου κατά τη σύγκριση των ημερομηνιών . Αυτό μπορεί να προκαλέσει προγράμματα φαίνεται να συμπεριφέρονται σωστά . Κατά την επεξεργασία των εγγραφών σε σχέση με την ημερομηνία ή την ώρα της λειτουργίας , ο προγραμματιστής μπορεί να κατορθώνω να καταλάβω γιατί μια εντολή για να χειριστεί όλες τις εγγραφές με ημερομηνία αξίας της στήλης SYSDATE -4 ( πριν από τέσσερις ημέρες ) χάνει πολλές εγγραφές που θα έπρεπε να έχουν παγιδευτεί . Αυτό είναι λόγω της χρονικής διαφοράς των δύο τιμών . Η σύγκριση με SYSDATE - 4 θα δώσει μόνο τις εγγραφές με τον ίδιο χρόνο με τον τρέχοντα χρόνο , αλλά τέσσερις μέρες πριν. Όταν λειτουργεί με τις ημερομηνίες , οι προγραμματιστές θα πρέπει να θυμηθείτε να προεξοφλούν το στοιχείο του χρόνου χρησιμοποιώντας τη TRUNC ( λειτουργία ) .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα