MySQL 需要多少位数字或字符才能将其指定为日期值

MySQL 需要多少位数字或字符才能将其指定为日期值

当年份为4位数字时,MySQL要求字符串或数字至少有8位才能指定为日期值。在这种情况下,如果我们还想存储微秒,则该值可以达到最大20位。

mysql> Select TIMESTAMP('20171022040536.100000');
+-----------------------------------+
| TIMESTAMP('20171022040536100000') |
+-----------------------------------+
| 2017-10-22 04:05:36.100000        |
+-----------------------------------+
1 row in set, 1 warning (0.00 sec)

上面的查询使用20位字符串作为TIMESTAMP值。最后6位是微秒。

mysql> Select TIMESTAMP(20171022);
+---------------------+
| TIMESTAMP(20171022) |
+---------------------+
| 2017-10-22 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

上述查询使用8位字符串作为TIMESTAMP值。

mysql> Select TIMESTAMP(201710);
+-------------------+
| TIMESTAMP(201710) |
+-------------------+
| NULL              |
+-------------------+
1 row in set, 1 warning (0.00 sec)

上面的查询返回NULL,因为位数少于8位。

相比之下,当年份为2位数字时,MySQL要求字符串或数字至少有6位才能指定为日期值。在这种情况下,如果我们想要存储微秒,则该值可以达到最大18位。

mysql> Select TIMESTAMP(171022);
+---------------------+
| TIMESTAMP(171022)   |
+---------------------+
| 2017-10-22 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

上述查询使用6位字符串作为TIMESTAMP值。

mysql> Select TIMESTAMP('171022040536.200000');
+----------------------------------+
| TIMESTAMP('171022040536.200000') |
+----------------------------------+
| 2017-10-22 04:05:36.200000       |
+----------------------------------+
1 row in set (0.00 sec)

上面的查询使用18位字符串作为TIMESTAMP值。小数点后的最后6位是微秒。

mysql> Select TIMESTAMP(1710);
+-----------------+
| TIMESTAMP(1710) |
+-----------------+
| NULL            |
+-----------------+
1 row in set, 1 warning (0.00 sec)

上面的查询返回NULL,因为位数少于6位。

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程