0

我在 sql 中有一个 INT 列,我必须将其转换为时间。

我试过了

         CONVERT (VARCHAR, columnA / 600000)
   + ':'
   + RIGHT ('00' + CONVERT (VARCHAR, c_columnA % 60), 2)

但这不是结果。任何想法是如何投射数据的?

这里是数据样本:

INT |时间
4680001|13:00
4680001|13:00
4596001|12:45
3846001|10:41
4320001|12:00
4

1 回答 1

4

它已经在评论中,但我会将其发布为答案:

如果忽略尾随的 1,则该值可能是自午夜以来的百分之一秒 -

例如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
于 2012-11-05T16:32:29.387 回答