MySql 剪辑 TIME 值

标签 mysql database time

背景

我们有一个 TIME 数据类型的列来指示耗时。

问题

当我们尝试插入大于 24 的小时数时,例如“25:00:00”,MySQL 会将此值裁剪为“01:00:00”,这不是我们想要的。

尝试的解决方案

文档建议我们可以使用 'HHH:MM:SS' 而不是 'HH:MM:SS' 格式 ( https://dev.mysql.com/doc/refman/5.0/en/time.htm )。这可能会解决我们的问题,但文档没有说明如何做到这一点。

最佳答案

改为使用 INT UNSIGNED 来测量持续时间。例如,如果秒是时间维度的“粒度”,则将秒表示为 INT UNSIGNED

原因:

  • INT 计算更简单!
  • 我的印象是 TIME 是用来表示一天中的时间,而不是持续时间。
  • JDBC 无法理解大于 24 小时的 TIME 值。
  • TIME 格式化为 HHH 而不是 HH 没有记录,我们无法弄清楚。

关于MySql 剪辑 TIME 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31659059/

相关文章:

c# - C# 桌面应用程序的数据库引擎

c# - 是否可以在 My Sql 数据库中保存文件指针?

date - 在DOS脚本中打印当前日期和时间

mysql - 在 where 子句中使用子查询

php - MySQL 数据库结构 - 存储 Facebook FQL 结果

database - 如何使用数据库支持的资源本地化 MVC

python - 将 float 转换为 hh :mm format

excel - 在 Excel 中使用时间但忽略日期

mysql - 德尔福: Select into outfile using parameter

mysql - 设置mysql用户名和密码