L3 Info : SGBD
 
◃  Ch. 7 Implantation des données avec SQL (DDL)  ▹
 

Les données temporelles

  • DATE, TIME et TIMESTAMP sont des types natifs en SQL
    • Manipulation de dates (DATE)
      • Représentées sous forme de chaînes de caractères (entre ')
      • Notation standard : 'AAAA-MM-JJ'
    • Manipulation des heures (TIME)
      • Notation standard : 'hh:mm:ss.dcm'
      • La précision est limité à trois décimales (dixièmes, centièmes, millièmes de seconde)
      • N'existe pas dans Oracle
    • Manipulation des horodatages (TIMESTAMP)
      • Notation standard : 'AAAA-MM-JJ hh:mm:ss.123456'
      • La précision passe à 6 décimales (millionième de seconde) !
  • La gestion des fuseaux horaires est possibles en ajoutant l'option 'WITH TIME ZONE' aux deux types précédents
    • Exemple de TIMESTAMP WITH TIMEZONE : '1970-01-01 00:00:00+02'
    • Non disponible dans MySQL
  • INTERVAL représente une durée (écart de temps entre deux données temporelles)
    • Non disponible avec MySQL, disponible avec quelques limitations dans Oracle
    • Exprime un interval de temps observé sur une certaine granularité répartie en deux familles
      • YEAR TO DATE pour les différences calendaires
      • DAY TO SECOND pour les durées précises
    • Un INTERVAL peut être exprimé sur un champ temporel parmi YEAR, MONTH, DAY, HOUR, MINUTE, SECOND
      • Exemples : INTERVAL '2' YEAR, INTERVAL '12' HOUR, INTERVAL '45' SECOND
    • Un INTERVAL peut être exprimé sur un champ temporel de départ et un champ temporel de fin séparé par TO
      • Exemples : INTERVAL '1-6' YEAR TO MONTH, INTERVAL '2 12:30:15' DAY TO SECOND, INTERVAL '2:15:45' HOUR TO SECOND