DATE, TIME et DATETIME
Comme son nom l'indique, DATE sert à stocker une date. TIME sert quant à lui à stocker une heure, et DATETIME stocke...une
date ET une heure !
DATE
Pour entrer une date, l'ordre des données est la seule contrainte. Il faut donner d'abord l'année (deux ou quatre chiffres), ensuite
le mois (deux chiffres) et pour finir, le jour (deux chiffres), sous forme de nombre ou de chaîne de caractères. S'il s'agit d'une
chaîne de caractères, n'importe quelle ponctuation peut être utilisée pour délimiter les parties (ou aucune). Voici quelques
exemples d'expressions correctes (A représente les années, M les mois et J les jours) :
'AAAA-MM-JJ' (c'est sous ce format-ci qu'une DATE est stockée dans MySQL)
'AAMMJJ'
'AAAA/MM/JJ'
'AA+MM+JJ'
'AAAA%MM%JJ'
AAAAMMJJ (nombre)
AAMMJJ (nombre)
L'année peut donc être donnée avec deux ou quatre chiffres. Dans ce cas, le siècle n'est pas précisé, et c'est MySQL qui va
décider de ce qu'il utilisera, selon ces critères :
si l'année donnée est entre 00 et 69, on utilisera le 21 e siècle, on ira donc de 2000 à 2069 ;
par contre, si l'année est comprise entre 70 et 99, on utilisera le 20 e siècle, donc entre 1970 et 1999.
MySQL supporte des DATE allant de '1001-01-01' à '9999-12-31'
DATETIME
Très proche de DATE, ce type permet de stocker une heure, en plus d'une date. Pour entrer un DATETIME, c'est le même
principe que pour DATE : pour la date, année-mois-jour, et pour l'heure, il faut donner d'abord l'heure, ensuite les minutes, puis
les secondes. Si on utilise une chaîne de caractères, il faut séparer la date et l'heure par une espace. Quelques exemples corrects
(H représente les heures, M les minutes et S les secondes) :
'AAAA-MM-JJ HH:MM:SS' (c'est sous ce format-ci qu'un DATETIME est stocké dans MySQL)
'AA*MM*JJ HH+MM+SS'
AAAAMMJJHHMMSS (nombre)
MySQL supporte des DATETIME allant de '1001-01-01 00:00:00' à '9999-12-31 23:59:59'
TIME
Le type TIME est un peu plus compliqué, puisqu'il permet non seulement de stocker une heure précise, mais aussi un intervalle
de temps. On n'est donc pas limité à 24 heures, et il est même possible de stocker un nombre de jours ou un intervalle négatif.
Comme dans DATETIME, il faut d'abord donner l'heure, puis les minutes, puis les secondes, chaque partie pouvant être séparée
des autres par le caractère :. Dans le cas où l'on précise également un nombre de jours, alors les jours sont en premier et séparés
du reste par une espace. Exemples :
'HH:MM:SS'
'HHH:MM:SS'
'MM:SS'
'J HH:MM:SS'
'HHMMSS'
HHMMSS (nombre)
MySQL supporte des TIME allant de '-838:59:59' à '838:59:59'
Partie 1 : MySQL et les bases du langage SQL
32/414
www.openclassrooms.com
Précédent

- 32/413

Suivant