我应该使用哪个 MySQL 字段来正确存储毫秒精度的日期时间?

发布于 2024-12-03 17:12:23 字数 158 浏览 1 评论 0原文

我知道 MySQL 在存储日期时间和时间戳时只有第二精度。那么,您建议包含毫秒的最佳、最简单和最可靠的解决方法是什么?

到目前为止,我已经看到 DECIMAL(17,3) 与 SQL 函数相结合,以及其他在 VARCHAR 上序列化日期时间的函数。另一个想法是将毫秒分量存储在另一列中。

I know MySQL only has a second precision when storing datetimes and timestamps. So what is the best, simplest and most robust workaround you would recommend to include milliseconds?

So far I have seen DECIMAL(17,3) combined with SQL functions, and others serializing the datetime on a VARCHAR. Another idea would be to store the millisecond component in another column.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帥小哥 2024-12-10 17:12:23

来自手册

“...微秒无法存储到任何时间数据的列中
类型。任何微秒部分都将被丢弃。

从 MySQL 5.0.8 开始,TIME 或 DATETIME 值转换为数字
形式(例如,通过添加 +0)会产生带有 a 的双精度值
.000000 的微秒部分:"

所以,看起来使用双倍是正确的方法。

From the manual:

"...microseconds cannot be stored into a column of any temporal data
type. Any microseconds part is discarded.

As of MySQL 5.0.8, conversion of TIME or DATETIME values to numeric
form (for example, by adding +0) results in a double value with a
microseconds part of .000000:"

So, it looks like using a doubel is the way to go.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文