【问题标题】:MySQL How to do Operations on Time like 30:47 (30 minutes and 47 seconds)MySQL 如何按时执行操作,例如 30:47(30 分 47 秒)
【发布时间】:2012-03-24 02:13:09
【问题描述】:

我正在使用 MySQL,我目前有一个 VARCHAR 列,它存储时间(以分钟和秒为单位),例如“30:47”和“00:25”(25 秒)。我怎样才能做到这一点,以便我可以在此列上执行 SUM() 和 AVG() 之类的操作并返回结果。

因此,如果我在“00:35”和“00:45”上执行 AVG(),我会得到“00:40”。我是否必须先将它们转换为十进制格式,然后进行操作,然后再将其转换回来?或者是否有支持这些操作的列类型?

【问题讨论】:

  • 非常非常不愉快是怎么回事。只需使用 TIME 列。
  • 您确实应该将此列存储为TIME 类型而不是VARCHAR
  • 我不能为这个投票投票 x10000,但如果我能做到的话......

标签: mysql datetime date time datetime-format


【解决方案1】:

只需使用TIME 列。它将直观地支持大多数操作。

【讨论】:

  • @Ray 我可能应该在我的回答中提到你需要小心返回类型。例如,AVG 调用可能返回整数而不是 TIME 类型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-17
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
相关资源
最近更新 更多