gpt4 book ai didi

mysql - 让 MySQL 5.7 显示毫秒,而不是微秒

转载 作者:行者123 更新时间:2023-11-29 09:53:42 25 4
gpt4 key购买 nike

MySQL 5.7 文档似乎暗示数据类型为 DATETIME(3) 的列将存储日期时间值并将其格式化为精确的三毫秒。

Link to docs

文档中的相关示例:

mysql> CREATE TABLE fractest( c1 TIME(2), c2 DATETIME(2), c3 TIMESTAMP(2) );

mysql> INSERT INTO fractest VALUES
('17:51:04.777', '2018-09-08 17:51:04.777', '2018-09-08 17:51:04.777');

mysql> SELECT * FROM fractest;
+-------------+------------------------+------------------------+
| c1 | c2 | c3 |
+-------------+------------------------+------------------------+
| 17:51:04.78 | 2018-09-08 17:51:04.78 | 2018-09-08 17:51:04.78 |
+-------------+------------------------+------------------------+

在该示例中,c2 舍入并精确显示 0.78 秒。

当我尝试对 DATETIME(3) 列执行相同的操作时,MySQL 会正确截断到三个小数秒位置,但仍将格式设置为六个位置。因此,最后三个位置始终为零,但它正在格式化以显示微秒位置。

+----------------------------+
| timestamp |
+----------------------------+
| 2018-04-12 14:08:19.296000 |
| 2018-04-13 14:08:22.312000 |
| 2018-04-14 14:08:25.914000 |
+----------------------------+

如何复制 MySQL 文档中的行为?如果字段是DATETIME(3),我希望它只显示到第三个小数第二位:

+-------------------------+
| timestamp |
+-------------------------+
| 2018-04-12 14:08:19.296 |
| 2018-04-13 14:08:22.312 |
| 2018-04-14 14:08:25.914 |
+-------------------------+

我还希望将其作为默认行为,而不是在每次选择时都必须在时间戳上调用格式化函数。

最佳答案

这是使用 mycli 的副作用MySQL 命令行工具。使用标准mysql时不会出现这种情况。

关于mysql - 让 MySQL 5.7 显示毫秒,而不是微秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54295692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com