gpt4 book ai didi

php - MySQL SUM time(3) 以毫秒为单位

转载 作者:可可西里 更新时间:2023-11-01 06:45:45 25 4
gpt4 key购买 nike

我有 mysql 列 time(3) 并且它存储了很好的时间值(value)..但后来我想求和两次,它转换为错误的时间格式;

我有两条记录:

id | time
---|-----------
1 | 00:00:15.490
2 | 00:02:14.900

所以实际上我应该得到:00:02:30.390

但我得到 230.390

无论如何要从 Mysql 得到正确的答案?附言我将 php 用于函数,但不想使用它,除非有其他方法。需要用 MILLISECONDS 求和时间

现在我正在使用查询SELECT SUM(time) AS total_time FROM times WHERE 1

最佳答案

假设你的表定义是这样的:

create table test (
id integer,
`time` time(3) -- important to specify precision
);

你可以这样做:

select time(sum(`time`))
from test;

注意:需要mysql 5.6+编辑

实际上,time 是错误的函数,因为它没有太多智能。

改用sec_to_time,即:

select sec_to_time(sum(`time`))
from test;

time提取一个时间值,sec_to_time计算一个时间值——即time(70)返回 NULL,因为没有 70 秒的有效时间,而 sec_to_time 将正确返回相同输入的 '00:01:10'编辑

原来我还是错了。让我们尝试将毫秒与其余时间分开处理:

select sec_to_time(sum(time_to_sec(`time`)) + sum(microsecond(`time`))/1000000)
from test;

关于php - MySQL SUM time(3) 以毫秒为单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30612043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com