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 ?

Combien de chiffres doivent contenir une chaîne ou un nombre à spécifier comme valeur de date par MySQL ?

WBOY
WBOYavant
2023-08-27 12:33:03999parcourir

字符串或数字中应该有多少位数字才能被 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer