显示HH:mm从小数(H.m)

时间:2017-02-07 21:04:48

标签: c# sql sql-server erp

员工的时钟以小数形式存储在数据库中

  

下午4:30存储为16.50

我想使用新的数据库列将小数转换为" HH:mm"

  

16.50显示为" 16:30"

我相信答案看起来像

CONVERT(DATETIME,CONVERT(NVARCHAR,CLOCK_IN_TIME))

但输出的格式不正确,通常我收到错误"转换失败时转换日期和/或时间来自字符串"

2 个答案:

答案 0 :(得分:1)

另一个选择

Declare @T decimal(10,2) = 7.25
Select Format(DateAdd(SECOND,ceiling((@T/24)*86400),0),'HH:mm')

返回

07:15

答案 1 :(得分:0)

嗯。嗯。 。 。如果您使用的是SQL Server,则可以执行以下操作:

dateadd(minute,
        floor(val) * 60 + 100 * (val - floor(val)),
        0)