2017-02-23 72 views
0

我在數據庫中有一列存儲爲INT,我需要將該列轉換爲TIME,但所有前導零都被忽略。有沒有辦法可以做到這一點?當前導零被省略時將INT轉換爲TIME

例子:

HH:mm(UI)     HHmmssSSS(db) 
11:08      1108ssSSS 
04:36      **0**436ssSSS 
00:12      **00**12ssSSS 
00:05      **000**5ssSSS 
+0

請提供更清晰的數據 – mohan111

+0

你想轉換什麼...? – Mansoor

+0

'我在數據庫中有一列存儲爲INT'=>你可以給樣本嗎? '我需要將列轉換爲TIME'=>什麼是預期的輸出和你現在得到什麼? – Utsav

回答

0

爲了得到這些時間:

with CTE as 
(
select otherfields, right('0000' + cast(IntField as varchar),4) as StrTime 
from MyTable 
) 
select otherfields, CAST(STUFF(STUFF(STUFF(StrTime,3,0,':'),6,0,':'),9,0,'.') AS TIME) 
from CTE 
0

您可以添加分鐘,得到你想要的。計算需要一些算術:

select dateadd(minute, 
       (intcol/100) * 60 + (intcol % 100), 
       cast(0 as time) 
      )