以毫秒为单位在数据库中存储时间

Ell*_*ott 10 mysql best-practices timestamp

只是一个关于在数据库中存储“时间”的快速问题。我正在记录用户运行的时间,格式为 00:00:00:00(小时、分钟、秒、毫秒)。

我最初打算将它存储为,TIME但后来我意识到 MySQL 不支持这种类型的毫秒。

我将存储从用户秒表中获取的实际时间,而不是他们运行和完成的时间(这将在插入之前计算)。

最好使用的字段类型是什么?我在想doublefloat,但我不确定这会起作用吗?

gbn*_*gbn 7

就个人而言,我会在持续时间内使用整数类型

示例:340,000 毫秒在 unsigned int 列中是 340000。

对我来说,日期时间、时间、日期等是用于明确的时间点。在这种情况下,340 秒毫无意义。具有起始date/time允许的持续时间将被添加,当然

  • 有一个标准的 SQL `interval` 数据类型就是为了这个目的。但并非所有 DBMS(当然也不是 MySQL)都支持这一点。 (3认同)

Fin*_*sse 5

如果您使用 MySQL 5.6.4 或更高版本,则可以使用TIME(3),DATETIME(3)TIMESTAMP(3)列类型最多存储 6 个小数位(替换3为您需要的小数位数)。小数部分添加到时间字符串的点后;例子:2018-09-08 17:51:04.781

官方参考