首页 > 数据库 > mysql教程 > 字符串或数字中应该有多少位数字才能被 MySQL 指定为日期值?

字符串或数字中应该有多少位数字才能被 MySQL 指定为日期值?

WBOY
发布: 2023-08-27 12:33:03
转载
997 人浏览过

字符串或数字中应该有多少位数字才能被 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 位数字时,字符串或数字中至少需要 6 位数字MySQL 将其指定为日期值。在这种情况下,如果我们还想存储微秒,那么该值最多可以为 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 指定为日期值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板