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