如何解决将秒数转换为 HH:MM:SS,小时数超过 24
我想将 97200 秒转换为 HH:MM:SS 格式。我使用了以下 sql Server 语法,但只要小时数少于 24 小时,它就可以工作
select convert(varchar,dateadd(s,round(convert(double precision,round(97200,2)),2),0),114)
它给出了 03:00:00:000
但我想看 27:00:00
解决方法
你能试试这个查询吗?
DECLARE @RefDate DATETIME = CONVERT(datetime,'01.01.1900',104);
DECLARE @Seconds int = 97200;
DECLARE @CompareDate datetime = DATEADD(second,97200,@RefDate);
SELECT @Seconds,CAST(DATEDIFF(HOUR,@RefDate,@CompareDate) AS varchar(100))
+ ':'
+ CAST(DATEPART(MINUTE,@CompareDate) AS varchar(2))
+ ':'
+ CAST(DATEPART(SECOND,@CompareDate) AS varchar(2))
,
...从总秒数中计算小时、分钟、秒,并将它们连接到 hh:mm:ss
declare @sec int=97200; --123426
--in case hours >=100
select concat(right(concat(0,@sec/3600),isnull(nullif(len(@sec/3600),1),2)),':',right(concat(0,@sec%3600/60),2),@sec%60),2))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。