gpt4 book ai didi

mysql - 将秒转换为 dd :hh:mm:ss (sql:query jsp)

转载 作者:行者123 更新时间:2023-11-29 10:07:31 25 4
gpt4 key购买 nike

我的简单大脑无法确定我需要对此进行哪些更改(这是有效的)

SELECT Name, Zone, Duration,

FLOOR(Duration/3600) as hours

,ROUND(FLOOR((Duration/3600-FLOOR(Duration/3600))*60)) as mins

,ROUND((((Duration/3600-FLOOR(Duration/3600))*60) - FLOOR((Duration/3600-FLOOR(Duration/3600))*60)) * 60) as secs

from duration

(持续时间以秒为单位)

确定 dd:hh:mm:ss(天:小时:分钟:秒)。我知道天数计算需要除以 86400,但我不确定其他计算应该是什么。

感谢帮助。

注意,经过很多天的摆弄,这是我能得到的最接近有意义的东西(没有任何错误,NULL等)

SELECT Name, Zone, Duration,
FLOOR(Duration/60/60/24) as days
,FLOOR(Duration/60/60)%24 as hours
,FLOOR(Duration/60)%60 as mins
,Duration%60 as secs
from duration

但最好将所有内容显示为 2 个字符(dd:mm:hh:mm,而不是 d:hh:m:ss 等),但不必使用 c:set、fmt 然后 c:out 等(我认为这又乱又长)

问候拉尔夫

最佳答案

试试这个:

SELECT Duration DIV 86400, SEC_TO_TIME(Duration MOD 86400)

要将所有内容包含在一个文本字符串中,请执行以下操作:

SELECT CONCAT_WS(':', Duration DIV 86400, SEC_TO_TIME(Duration MOD 86400))

DIVMOD 是整数运算符。 CONCAT_WS() 与指定的分隔符连接,: 在您的情况下。

如果由于某种原因 CONCAT_WS() 不起作用,请尝试

SELECT CONCAT(Duration DIV 86400, ':',SEC_TO_TIME(Duration MOD 86400))

您的 Duration 值的数据类型可能不是 INT。试试这个:

SELECT CONCAT(CAST(Duration AS INT) DIV 86400, 
':',
SEC_TO_TIME(CAST(Duration AS INT) MOD 86400));

关于mysql - 将秒转换为 dd :hh:mm:ss (sql:query jsp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51608988/

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