我在sql中有一个INT列,我必须将其转换为时间。
我试过
CONVERT (VARCHAR, columnA / 600000)
+ ':'
+ RIGHT ('00' + CONVERT (VARCHAR, c_columnA % 60), 2)
但这不是结果。有什么想法可以如何投放数据?
这是一个数据样本:
INT |TIME 4680001|13:00 4680001|13:00 4596001|12:45 3846001|10:41 4320001|12:00
答案 0 :(得分:4)
它已经在评论中了,但我会将其作为答案发布:
如果忽略尾随1,则该值可能是自午夜以来的百分之一秒 -
e.g。 select dateadd(ms,384600 * 100,'19000101')
提供19000101 10:41
或作为查询:
DECLARE @t TABLE
(i INT, t VARCHAR(5))
INSERT @t (i,t)
VALUES (4680001,'13:00'),
(4680001,'13:00'),
(4596001,'12:45'),
(3846001,'10:41'),
(4320001,'12:00')
SELECT DATEADD(s,i/100,'19000101'), t
FROM @t