Le type YEAR
<<<
An 2000 et les types date Types de colonnes
>>>

12.3 Les types date et heure
12 Types de colonnes
 Manuel de Référence MySQL 4.1 : Version Française

Les types DATETIME , DATE , et TIMESTAMP
Le type TIME
Le type YEAR
->An 2000 et les types date

12.3.4 An 2000 et les types date

MySQL lui même est compatible an 2000. ( Compatibilité an 2000 ), mais les valeurs manipulées par MySQL peuvent ne pas l'être. N'importe quelle valeur n'ayant que deux chiffres pour représenter l'année est ambigu, car le siècle n'est pas précisé. Ces valeurs doivent être interprétées comme des valeurs à 4 chiffres, car MySQL stocke les années en interne en utilisant 4 chiffres.

Pour les types DATETIME , DATE , TIMESTAMP , et YEAR , MySQL interprète les dates ambigus en se basant sur les règles suivantes :
  • Les valeurs d'années comprises dans l'intervalle 00-69 sont converties en 2000-2069 .
  • Les valeurs d'années comprises dans l'intervalle 70-99 sont converties en 1970-1999 .

Gardez bien à l'esprit que ces règles ne sont que la meilleure approximation possible d'une valeur. Si l'heuristique proposée par MySQL ne fournit pas les valeurs attendues, vous devrez fournir une valeur sans ambiguïté. (à 4 chiffres)

ORDER BY ordonnera correctement les types YEAR/DATE/DATETIME à deux chiffres.

Notez aussi que quelques fonctions comme MIN() et MAX() convertiront un TIMESTAMP/DATE en nombre. Cela signifie qu'un timestamp avec une année à deux chiffres ne donneront pas de résultats corrects avec ces fonctions. Une solution dans ce cas est de convertir le TIMESTAMP/DATE en une année à 4 chiffres ou d'utiliser quelque chose comme MIN(DATE_ADD(timestamp,INTERVAL 0 DAYS)) .

<< An 2000 et les types date >>
Le type YEAR Les types date et heure Types de colonnes