2017-01-31 107 views
1

我有時間在具有類似下面 0.80,0.94,4.07 我想表明這段時間以分鐘爲單位,例如 00:48,而不是0.80 什麼是內容的varchar字段我會用公式來翻譯時間?SQL時間1/100格式

+1

的RDBMS是什麼? –

+0

對不起微軟SQL –

+0

'00:'+ cast(round(cast作爲十進制值(6,2)* 60 * 100,0))作爲varchar(2)) – KeithL

回答

2
Declare @YourTable table (col varchar(25)) 
Insert Into @YourTable values 
('0.80'),('0.94'),('4.07') 

Select * 
     ,Formatted = Format(DateAdd(SS,60*cast(col as float),0),'mm:ss') 
from @YourTable 

如果不是2012+,嘗試

,Formated = convert(varchar(8),DateAdd(SS,60*cast(col as float),0),108) 

返回

col  Formated 
0.80 00:48 
0.94 00:56 
4.07 04:04 
+0

工作:) - 非2012部分 任何機會,我可以得到一些有關它做什麼的具體解釋,特別是DateAdd部分,我會得到乘法部分,但什麼是SS再次? –

+0

@MatthewJakachira對此感到滿意。 Format()是在SQL 2012中引入的。因此,如果在2008年和之前,我們使用轉換類型108將日期時間轉換爲varchar(8) –