将小时数转换为几天:SQL Server中的小时格式

时间:2016-09-27 15:12:05

标签: sql sql-server

Create Table 
(
    id int identity(1,1),
    WorkHours int
)

这是我的工作时间为整数的表格。我的要求是以DD:HH格式显示工作时间。怎么可能?

3 个答案:

答案 0 :(得分:1)

要获得它DD:HH格式,你需要做一些数学运算以及一些00填充(或者你得到D:H)格式:

select RIGHT('00' + CONVERT(VARCHAR, WorkHours / 24), 2) + ':' + RIGHT('00' + CONVERT(VARCHAR, WorkHours% 24), 2)
from MyTable

答案 1 :(得分:0)

with Calcs as
(
select id, floor(WorkHours/24) as DDField, (WorkHours/24)-floor(WorkHours/24) as HHField
from MyTable
)
select id, DDField + ':' + HHField
from Calcs

答案 2 :(得分:0)

  • SQL-Server中的整数除法是int1 / int2
  • SQL-Server中的模数为int1 % int2
  • 在SQL-Server中格式化数字的功能是FORMAT
  • SQL-Server中的字符串连接运算符是非标准+

查询:

select format(workhours / 24, '00') + ':' + format(workhours % 24, '00')
from mytable;