将数字转换为时间

时间:2017-10-03 02:26:40

标签: sql sql-server-2012

我有一个包含NUMERIC(5,2)数据的列。数据代表换档开始时间。一些例子是6.30,10.30,13.30和15.30。将此转换为时间的最佳方法是什么,以便我可以对另一个字段进行时间计算?另一个字段是日期时间字段。

编辑:值代表时间。例如6.30 = 06:30,15:30 = 03:30 PM。

2 个答案:

答案 0 :(得分:2)

您可以这样做:

select dateadd(minute, floor(col) * 60 + (col % 1) * 100, 0)

答案 1 :(得分:1)

dot(.)替换为colon(:)并与时间列进行比较。

select * 
from yourtable 
Where timecol = replace(numericcol,'.',':')

考虑timecol是数据类型time,rhs将隐式转换为time