Oracle fournit un système de gestion de base de données relationnelle qui détiennent des données dans des tables . Chaque table contient des colonnes , qui doivent donner un type de données . Oracle a un type de données spécial , pour certaines dates . Le type de données Oracle DATE contient à la fois la date et l'heure. Cela permet une meilleure comparaison et la manipulation des dates que s'ils étaient seulement des champs de texte . Date de restrictions
Le type de données spécial permet la validation automatique des données . Ont été détenus dates sous forme de texte , le programmeur de développer une méthode de saisie de données auraient besoin d'effectuer des contrôles que la date était entré dans un format valide , par exemple, que le jour donné était possible au cours du mois donné. Tout en traitant avec des dates , de nombreux programmeurs oublient souvent l'élément temps est présent sur chaque date stockée dans la base de données . Si une date insérée dans la base de données ne comprend pas de temps, la valeur par défaut « 00:00». Si un élément de temps est inséré dans la base de données , le format de date veille à ce que les chiffres qui composent cette époque sont dans un format valide.
date de représentation
différences de temps sur les dates sont souvent négligés en raison de deux représentations différentes dates dans le système Oracle. Les valeurs contenues dans la base de données ne suivent pas le format de date reconnue. Ils sont stockés comme un nombre qui représente le nombre de secondes écoulées depuis le 1er Janvier 4712 BC . Toutefois, ce nombre est rarement montré , même une requête directe à partir de l'intérieur des dates de système d'exploitation de la base de données sont affichées dans un format de date donnée. Si une requête sur une colonne de date ne comprend pas un format de date , la date est extrait dans le format de date par défaut , qui est " DD - MON- YY . "
Time Difference < br > Photos
une colonne peuplée par une fonction de date contiendra automatiquement la date et l' heure correcte . Des exemples de ce sont des colonnes peuplées en utilisant la fonction sysdate . SYSDATE donne la date et l'heure actuelle , dont il tire de la date et l'heure système de la base de données. Ainsi , certaines valeurs peuvent contenir des dates avec le vide "00:00" et d'autres ont le temps réel attaché. Cependant, si " 01-JAN-2011 00:00 " et " 01 -Jan-2011 14:20 " sont tous deux interrogés sur la base de données , ils seront tous deux apparaissent comme "01 -janv.-11 ", donc ils vont chercher l' même .
problèmes
Oracle programmeurs oublient souvent sur l'élément de temps lorsque l'on compare les dates . Cela peut entraîner des programmes pour semblent se comporter de manière incorrecte. Lorsque les dossiers de traitement par rapport à une date ou une fonction du temps, le programmeur peut être mystifié les raisons pour lesquelles une commande pour manipuler tous les records avec une valeur de colonne de date de sysdate -4 ( il ya quatre jours ) manque de nombreux documents qu'il aurait pris au piège. C'est à cause de la différence de temps entre les deux valeurs . Une comparaison avec sysdate -4 ne donnera dossiers avec le même temps que l'heure actuelle , mais quatre jours avant . Lors du fonctionnement avec les dates , les programmeurs devraient se rappeler d'écarter l'élément de temps en utilisant la fonction trunc ( ) .