如何在mysql中对存储为字符串的时间间隔求和,比如5天10:20:00

i2byvkas  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(334)

我需要编写一个select查询来对mysql表中的时间间隔求和,在mysql表中,时间间隔存储为文本,格式如下

10 days 3:28:31

在postgresql查询中,我们可以简单地使用 ::interval 它将上面的内容转换为interval,我们可以在postgresql查询中对其使用sum方法,但在mysql中我不能这样做。任何帮助都将不胜感激。

knpiaxh1

knpiaxh11#

mysql没有 interval 数据类型。它确实使用 interval 关键字--有点混乱。但这是一个语法元素,而不是一个数据类型。
你能做的一件事就是使用 time 数据类型。它最多支持838小时的时间,即大约35天。这对于许多目的来说已经足够了。
否则,建议使用单个时间单位,并将值存储为数字量。例如,“5天10:20:00”应该是:
5.4305556天(5+10/24+20/(24*60))
130.333小时
7820分钟

相关问题