从十进制显示 HH:mm (H.m)
Display HH:mm from decimal (H.m)
员工的打卡时间以小数形式存储在数据库中
4:30 PM stored as 16.50
我想使用新的数据库列将小数转换为 "HH:mm"
16.50 displayed as "16:30"
我相信答案会类似于
CONVERT(DATETIME,CONVERT(NVARCHAR,CLOCK_IN_TIME))
但是输出的格式不正确,通常我会得到错误 "Conversion failed when converting date and/or time from character string"
嗯。 . .如果你使用的是SQL服务器,你可以这样做:
dateadd(minute,
floor(val) * 60 + 100 * (val - floor(val)),
0)
另一种选择
Declare @T decimal(10,2) = 7.25
Select Format(DateAdd(SECOND,ceiling((@T/24)*86400),0),'HH:mm')
Returns
07:15
员工的打卡时间以小数形式存储在数据库中
4:30 PM stored as 16.50
我想使用新的数据库列将小数转换为 "HH:mm"
16.50 displayed as "16:30"
我相信答案会类似于
CONVERT(DATETIME,CONVERT(NVARCHAR,CLOCK_IN_TIME))
但是输出的格式不正确,通常我会得到错误 "Conversion failed when converting date and/or time from character string"
嗯。 . .如果你使用的是SQL服务器,你可以这样做:
dateadd(minute,
floor(val) * 60 + 100 * (val - floor(val)),
0)
另一种选择
Declare @T decimal(10,2) = 7.25
Select Format(DateAdd(SECOND,ceiling((@T/24)*86400),0),'HH:mm')
Returns
07:15