2017-02-23 10 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) 
      ) 
関連する問題