La situation est que vous avez une valeur en secondes (XXX.XX), et vous voulez la convertir en HH:MM:SS en utilisant T-SQL.
Exemple :
- 121.25 s devient 00:02:01.25
La situation est que vous avez une valeur en secondes (XXX.XX), et vous voulez la convertir en HH:MM:SS en utilisant T-SQL.
Exemple :
En utilisant SQL Server 05, je peux faire fonctionner cela en utilisant :
déclarer @OrigValue int;
set @OrigValue = 121.25;
sélectionner remplacer(str(@OrigValue/3600, len(ltrim(@OrigValue/3600)) + abs(sign(@OrigValue/359999)-1)) + ':' + str((@OrigValue/60)%60,2) + ':' + str(@OrigValue%60,2), ' ', '0')
Juste au cas où cela pourrait intéresser quelqu'un. La fonction 'Format' peut également être utilisée, avec SQL Server 2012+
Declare @Seconds INT = 1000000; SELECT FORMAT(CAST(@Seconds/86400.000 AS datetime), 'HH:mm:ss');
OU
Declare @Seconds INT = 1000000; SELECT CAST(FORMAT(CAST(@Seconds/86400.000 AS datetime), 'HH:mm:ss') AS TIME);
Ceci est ce que j'utilise (généralement pour les rapports par e-mail de tableaux HTML)
declare @time int, @hms varchar(20)
set @time = 12345
set @hms = cast(cast((@Time)/3600 as int) as varchar(3))
+':'+ right('0'+ cast(cast(((@Time)%3600)/60 as int) as varchar(2)),2)
+':'+ right('0'+ cast(((@Time)%3600)%60 as varchar(2)),2) +' (hh:mm:ss)'
select @hms
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.