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 を無視すると、値は午前 0 時から 100 分の 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 に答える