SQL服务器,将秒数转换为分钟,小时,天
发布时间:2020-12-12 07:45:36 所属栏目:MsSql教程 来源:网络整理
导读:我有一个包含整数值的数据库列,该值表示以秒为单位的系统运行时间.我真的很喜欢一个查询能够以一个小时(s)小时的简单易读格式向我展示时间,但我不太清楚该怎么做.我发现的很多例子似乎都使用参数作为例子,但在select函数中如何使用它并没有多少. 我需要的时间
我有一个包含整数值的数据库列,该值表示以秒为单位的系统运行时间.我真的很喜欢一个查询能够以一个小时(s)小时的简单易读格式向我展示时间,但我不太清楚该怎么做.我发现的很多例子似乎都使用参数作为例子,但在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,dateadd(second,tblAssets.Uptime,0))) as varchar(4)) + ' Day(s) ' + convert(varchar(2),0),108) +' Hour(s)' else convert(varchar(5),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的转换将日期转换为varchar,格式为HH:mm:ss,将秒转换为日期. 例如 SELECT Formatted = CAST(FLOOR(seconds / 86400) AS VARCHAR(10))+'d ' + CONVERT(VARCHAR(5),8),Seconds FROM ( SELECT TOP 10 Seconds = (ROW_NUMBER() OVER (ORDER BY Object_ID) * 40000) FROM sys.all_Objects ORDER BY Object_ID ) S Example on SQL Fiddle 注:更改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),ROUND(Seconds / 60.0,0) * 60,Seconds FROM ( SELECT Seconds = 3899 ) S 我刚刚将每个引用替换为列秒: ROUND(Seconds / 60.0,0) * 60 因此,在进行转换之前,将秒值舍入到最接近的分钟 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 实体框架 – 更新到EF 6.0.0-alpha后,无法使用EF迁移更新数
- sql – 从now()函数中减去小时数
- weka连接sqlserver2005
- sql 数据库出现“只读”提示 解决方法 (sql 错误 5120)
- SQL Server 通用分页存储过程 未使用游标,速度更快!
- 如何创建SQL Server 2000故障转移群集
- sql – 三维数据库表
- sql-server – 在SQL Server Management Studio 2008中格式
- sql-server-2008 – SQL 2008每10分钟执行一次CHECKDB,任何
- 删除log文件和清空日志的方案(SQLServer2005)