【问题标题】:How to sum time interval stored as string in MySQL like 5 days 10:20:00如何将存储为 MySQL 中字符串的时间间隔相加,如 5 天 10:20:00
【发布时间】:2020-10-03 17:01:22
【问题描述】:

我需要编写一个选择查询来汇总 MySQL 表中的时间间隔,其中时间间隔存储为文本,格式类似于以下

10 days 3:28:31

在 PostgreSQL 查询中,我们可以简单地使用 ::interval 并将其转换为区间,我们可以在 PostgreSQL 查询中使用 Sum 方法,但我无法在 MySQL 中执行相同操作。任何帮助将不胜感激。

【问题讨论】:

标签: mysql sql postgresql select


【解决方案1】:

MySQL 没有interval 数据类型。它确实使用了interval 关键字——这有点令人困惑。但这是一个句法元素,而不是一种数据类型。

可以做的一件事是使用time 数据类型。这支持长达 838 小时或大约 35 天的时间。这对于许多用途来说已经足够了。

否则,建议使用单个时间单位并将值存储为数字量。例如,“5 天 10:20:00”将是:

  • 5.43055555556 天(5 + 10 / 24 + 20 / (24*60))
  • 130.333333333 小时
  • 7820 分钟

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2018-08-05
    相关资源
    最近更新 更多