J'ai le temps dans un champ varchar qui a un contenu comme les suivants 0,80, 0,94, 4,07 Je veux montrer cette fois en quelques minutes par exemple 00h48 au lieu de 0,80 Qu'est-ce la formule que j'utiliserais pour traduire l'heure?SQL en 1/100ème Format
Répondre
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
Si Non 2012+, essayez
,Formated = convert(varchar(8),DateAdd(SS,60*cast(col as float),0),108)
Retours
col Formated
0.80 00:48
0.94 00:56
4.07 04:04
Cela fonctionne :) - la partie non 2012 Toute chance que je puisse avoir une petite explication sur ce qu'il fait, en particulier la partie DateAdd, je reçois la partie multiplicateur mais qu'est-ce que le SS à nouveau? –
@MatthewJakachira Heureux que cela a aidé. Format() a été introduit dans SQL 2012. Donc, si 2008 et avant, nous convertissons le datetime en un varchar (8) en utilisant le type de conversion de 108 –
Quel est le SGBDR? –
Désolé Microsoft Sql –
'00: '+ cast (rond (la valeur comme décimale (6,2) * 60 * 100,0)) comme varchar (2)) – KeithL