当前位置:  开发笔记 > 数据库 > 正文

如何将SQL中的秒数转换为人类可读的持续时间?

如何解决《如何将SQL中的秒数转换为人类可读的持续时间?》经验,为你挑选了1个好方法。

在SQL数据库中,我做了一些选择,以秒为单位获得持续时间(作为两个日期之间的减法的结果).但我希望将这个结果格式化为人类可读的形式,如'hh:mm'或'dd:hh'.这可能在SQL中,我怎么能意识到这一点?



1> 小智..:

在SQL 2005中,您可以使用以下内容:

    select convert(varchar(8), dateadd(second, [SecondsColumn], 0),  108)

首先将秒转换为1900-01-01之后的日期,然后得到hh:mm:ss部分.

如果列超过24小时,这将翻转,如果你想要几天,那么在这种情况下小时只需执行以下操作:

case when SecondsColumn> (24*60*60) 
        then 
            cast(datepart(day,datediff(dd, 0, dateadd(second, SecondsColumn, 0))) as varchar(4))
        +   'd' + convert(varchar(2), dateadd(second, SecondsColumn, 0), 108) 
    else
            convert(varchar(8), dateadd(second, SecondsColumn, 0), 108) 
    end

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有