SQL Server,将秒转换为分钟,小时,天

天尼丹

我有一个数据库列,其中包含一个整数值,该整数值表示系统的运行时间(以秒为单位)。我真的希望查询能够以一种易于阅读的格式(天,小时,分钟)向我显示正常运行时间,但是我不太确定该怎么做。我发现很多示例似乎都使用参数作为示例,但在select函数中如何使用它却很少。

我也需要时间与网站上显示的时间相同。我较早地尝试了一个查询,并增加了几天,并删除了几分钟。谁能帮我吗?

源数据:

PDT0014 6141
PDT0008 4990
PDT0024 840227
PDT0033 2301
PDT0035 5439
PDT0005 3434
PDT0019 5482

样例代码:

SELECT tblAssets.AssetName, 
(case when tblAssets.Uptime> (24*60*60) 
        then 
            cast(datepart(day,datediff(dd, 0, dateadd(second, tblAssets.Uptime, 0))) as varchar(4))
        +   ' Day(s) ' + convert(varchar(2), dateadd(second, tblAssets.Uptime, 0), 108) +' Hour(s)' 
    else
            convert(varchar(5), dateadd(second, tblAssets.Uptime, 0), 108) + ' Hour(s) Minute(s) ' 
    end) AS Uptime
FROM tblAssets

所需的查询输出:

PDT0014 01:42 Hour(s) Minute(s) 
PDT0008 01:23 Hour(s) Minute(s) 
PDT0024 10 Day(s) 17 Hour(s)
PDT0033 00:38 Hour(s) Minute(s) 
PDT0035 01:30 Hour(s) Minute(s) 
PDT0005 00:57 Hour(s) Minute(s) 
PDT0019 01:31 Hour(s) Minute(s)
加雷斯

我倾向于使用:

CAST(FLOOR(seconds / 86400) AS VARCHAR(10))+'d ' +
    CONVERT(VARCHAR(5), DATEADD(SECOND, Seconds, '19000101'), 8)

顶部仅将您的日子作为整数,底部将SQL-Server的convert将秒转换为日期后,将日期转换为HH:mm:ss格式的varchar。

例如

SELECT  Formatted = CAST(FLOOR(seconds / 86400) AS VARCHAR(10))+'d ' +
                        CONVERT(VARCHAR(5), DATEADD(SECOND, Seconds, '19000101'), 8),
        Seconds
FROM    (   SELECT  TOP 10 
                    Seconds = (ROW_NUMBER() OVER (ORDER BY Object_ID) * 40000)
            FROM    sys.all_Objects
            ORDER BY Object_ID
        ) S

SQL小提琴上的示例

注意更改 CONVERT(VARCHAR(5), DATEADD(.. CONVERT(VARCHAR(8), DATEADD(.. 保留秒数

编辑

如果您不希望秒,并且需要舍入到最接近的分钟而不是截断,则可以使用:

SELECT  Formatted = CAST(FLOOR(ROUND(Seconds / 60.0, 0) * 60 / 86400) AS VARCHAR(10))+'d ' +
                        CONVERT(VARCHAR(5), DATEADD(SECOND, ROUND(Seconds / 60.0, 0) * 60, '19000101'), 8),
        Seconds
FROM    (   SELECT  Seconds = 3899
        ) S

我刚刚将对列的每个引用替换为seconds

ROUND(Seconds / 60.0, 0) * 60

因此,在进行转换之前,将秒值舍入到最接近的分钟

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server,将秒转换为分钟,小时,天

来自分类Dev

SQL Server-将天转换为列,将小时转换为行

来自分类Dev

将分钟转换为天,小时,分钟和秒

来自分类Dev

将秒转换为天:小时:分钟:秒

来自分类Dev

Sql Server从“ X秒/分钟/小时/天”格式开始获取时间

来自分类Dev

将结束日期转换为剩余的天,小时,分钟,秒

来自分类Dev

将天转换为小时:分钟:秒 java

来自分类Dev

SQL Server 2012:GROUP BY秒,分钟,小时

来自分类Dev

将小时:分钟转换为分钟:秒

来自分类Dev

将秒转换为天、小时

来自分类Dev

在Bigquery中将秒转换为天,小时,分钟

来自分类Dev

在R中将小数转换为天,分钟,小时和秒

来自分类Dev

Bash脚本将毫秒转换为天:小时:分钟:秒:毫秒

来自分类Dev

从 SQL Server 中的 varchar 列将 12 小时转换为 24 小时

来自分类Dev

将文本(天,分钟,秒)转换为天

来自分类Dev

使用NSNumberFormatter将秒转换为小时,分钟,秒

来自分类Dev

将秒转换为小时,分钟和秒?

来自分类Dev

将秒转换为小时,分钟和秒

来自分类Dev

如何将numpy数组转换为天,小时,分钟?

来自分类Dev

如何将毫秒转换为天/小时/分钟

来自分类Dev

Python时间转换器,从秒转换为天,小时,分钟和秒

来自分类Dev

将缓存控制时间转换为天、分钟或秒?

来自分类Dev

Swift-将整数转换为小时/分钟/秒

来自分类Dev

实时将秒转换为小时和分钟

来自分类Dev

PHP:将秒转换为分钟和小时

来自分类Dev

将十进制转换为小时:分钟:秒

来自分类Dev

Python:将减去的unix时间转换为小时/分钟/秒

来自分类Dev

将毫秒转换为小时,分钟和秒python

来自分类Dev

实时将秒转换为小时和分钟

Related 相关文章

热门标签

归档