Services webmasters
Partenaires
Jeux concours gratuits
 
Types numériques
<<<
Les types date et heure Les types chaînes
>>>

6.2 Types de colonnes
6 Référence du langage MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Types numériques
->Les types date et heure
Les types chaînes
Choisir le bon type de colonne
Utilisation des types de données issues d'autres SGBDR
Capacités des colonnes

6.2.2 Les types date et heure

Les types dates et heures sont DATETIME , DATE , TIMESTAMP , TIME , et YEAR . Chacun d'eux à une échelle de valeurs légales, de même que la valeur ``zéro'' quand vous spécifiez une valeur illégale. A noter que MySQL vous permet d'enregistrer certaines dates qui ne sont pas strictement légales, par exemple 1999-11-31 . La raison est que nous pensons que la vérification des dates est à faire niveau application. Pour accélérer les tests, MySQL vérifie juste que le mois est entre 0 et 12 et que le jour est entre 0 et 31. Les intervalles précédentes sont définies de cette façon car MySQL vous permet d'enregistrer dans une colonne DATE ou DATETIME , des dates où le jour de la semaine ou le jour du mois est zéro. C'est extrêmement utile pour les applications où vous avez besoin d'enregistrer une date d'anniversaire pour laquelle vous n'avez pas la date exacte. Dans ce cas, vous enregistrez simplement la date comme 1999-00-00 ou 1999-01-00 . (Vous ne devez pas vous attendre à obtenir de valeurs correctes de fonctions tel que DATE_SUB() ou DATE_ADD pour des dates comme cela.)

Voici quelques considérations à garder à l'esprit quand vous manipulerez ce type de champs :
  • MySQL extrait les valeurs d'un champ date ou heure dans un format standard, mais essaye d'interpréter une grande variétés de format pour les valeurs que vous donnez (par exemple, quand vous essayez de comparer ou attribuer une valeur à un champ de type date ou heure). Néanmoins, seul les formats décrits dans les sections suivantes sont disponibles. Il est attendu que vous fournissiez des valeurs légales et des erreurs imprévues peuvent survenir si vous utilisez d'autre formats.
  • Même si MySQL essaye d'interpreter les valeurs sous différents formats, il s'attend toujours à ce que l'année soit dans la partie gauche de la valeur. Les dates doivent êtres données sous la forme année-mois-jour (exemple : 98-09-04 ), au lieu de mois-jour-année ou jour-mois-année qui sont très utilisés ailleurs (comme 09-04-98 ou '04-09-98' ).
  • MySQL convertit automatiquement une date ou heure en nombre si la valeur est utilisée dans un contexte numérique et vice versa.
  • Lorsque MySQL rencontre une valeur hors d'intervalle pour un type date ou heure qui est donc illégale pour ce type (voir le début de cette section), il la convertit à la valeur ``zéro'' de ce type. (L'exception est que les valeurs hors intervalles pour les champs TIME sont coupées à la limite appropriée des valeurs de TIME .) Le tableau suivant présente le format de la valeur ``zéro'' de chaque type :
    Column type valeur du ``zéro''
    DATETIME '0000-00-00 00:00:00'
    DATE '0000-00-00'
    TIMESTAMP 00000000000000 (la longueur dépend de la taille de l'affichage)
    TIME '00:00:00'
    YEAR 0000
  • La valeur ``zéro'' est spéciale, mais vous pouvez l'enregistrer ou vous y référer explicitement en utilisant les valeurs contenues dans le tableau ci dessus. Vous pouvez aussi le faire en utilisant la valeur '0' ou 0 qui est plus facile à manipuler.
  • La date ou le temps ``Zéro'' utilisé avec MyODBC est automatiquement convertie en NULL à partir de la version 2.50.12 de MyODBC , car ODBC ne peut manipuler de telles valeurs.

Sommaire :

<< Les types date et heure >>
Types numériques Types de colonnes Les types chaînes
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -