Maison >base de données >tutoriel mysql >Combien de chiffres doivent contenir une chaîne ou un nombre à spécifier comme valeur de date par MySQL ?
Alors que les années sont traitées comme des valeurs à 4 chiffres, MySQL nécessite au moins 8 chiffres dans une chaîne ou un nombre pour le spécifier comme valeur de date. Dans ce cas, si nous voulons également stocker des microsecondes, la valeur peut aller jusqu'à 20 chiffres.
mysql> Select TIMESTAMP('20171022040536.100000'); +-----------------------------------+ | TIMESTAMP('20171022040536100000') | +-----------------------------------+ | 2017-10-22 04:05:36.100000 | +-----------------------------------+ 1 row in set, 1 warning (0.00 sec)
La requête ci-dessus prend une chaîne numérique de 20 chiffres comme valeur TIMESTAMP. Les 6 derniers chiffres représentent les microsecondes.
mysql> Select TIMESTAMP(20171022); +---------------------+ | TIMESTAMP(20171022) | +---------------------+ | 2017-10-22 00:00:00 | +---------------------+ 1 row in set (0.00 sec)
La requête ci-dessus prend une chaîne de 8 chiffres comme valeur TIMESTAMP.
mysql> Select TIMESTAMP(201710); +-------------------+ | TIMESTAMP(201710) | +-------------------+ | NULL | +-------------------+ 1 row in set, 1 warning (0.00 sec)
La requête ci-dessus renvoie NULL car le numéro comporte moins de 8 chiffres.
En revanche, lorsque l'on traite l'année comme un nombre à 2 chiffres, au moins 6 chiffres sont requis dans la chaîne ou le nombre pour que MySQL puisse le spécifier comme valeur de date. Dans ce cas, si nous voulons également stocker des microsecondes, la valeur peut aller jusqu'à 18 chiffres.
mysql> Select TIMESTAMP(171022); +---------------------+ | TIMESTAMP(171022) | +---------------------+ | 2017-10-22 00:00:00 | +---------------------+ 1 row in set (0.00 sec)
La requête ci-dessus prend une chaîne à 6 chiffres comme valeur TIMESTAMP.
mysql> Select TIMESTAMP('171022040536.200000'); +----------------------------------+ | TIMESTAMP('171022040536.200000') | +----------------------------------+ | 2017-10-22 04:05:36.200000 | +----------------------------------+ 1 row in set (0.00 sec)
La requête ci-dessus prend une chaîne numérique de 18 chiffres comme valeur TIMESTAMP. Les 6 derniers chiffres après le point (.) représentent les microsecondes.
mysql> Select TIMESTAMP(1710); +-----------------+ | TIMESTAMP(1710) | +-----------------+ | NULL | +-----------------+ 1 row in set, 1 warning (0.00 sec)
La requête ci-dessus renvoie NULL car le nombre de chiffres est inférieur à 6.
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!