Maison > Article > base de données > Pourquoi n'est-il pas une bonne pratique d'utiliser des valeurs de date avec des années à deux chiffres dans MySQL ?
Comme nous le savons tous, YEAR(2) stocke l'année au format à 2 chiffres. Par exemple, nous pouvons écrire 69 pour stocker 1969 comme année. Dans ANNÉE (2), l'année peut être précisée de 1970 à 2069 (70 à 69).
MySQL interprète les valeurs d'année à 2 chiffres à l'aide des règles suivantes -
Nous ne pouvons pas stocker les valeurs de date au format à 2 chiffres car les valeurs stockées dans ce format deviendront ambiguës en raison d'un siècle inconnu.
Vous pouvez le comprendre plus clairement à l'aide de l'exemple MySQL suivant -
mysql> Create Table year_test(val year(2)); Query OK, 0 rows affected, 1 warning (0.23 sec) mysql> insert into year_test(val) values('70'); Query OK, 1 row affected (0.14 sec) mysql> insert into year_test(val) values('00'); Query OK, 1 row affected (0.06 sec) mysql> select * from year_test; +-----+ | val | +-----+ | 70 | | 00 | +-----+ 2 rows in set (0.00 sec) mysql> select * from year_test where val = '1970'; +-----+ | val | +-----+ | 70 | +-----+ 1 row in set (0.03 sec) mysql> select * from year_test where val = '2000'; +-----+ | val | +-----+ | 00 | +-----+ 1 row in set (0.00 sec) mysql> select * from year_test where val = '1900'; Empty set (0.06 sec)
En stockant 00 dans "val", nous ne savons pas à quelle année nous faisons référence, "1900" ou "2000". MySQL interprète cela comme l'année 2000.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!