SQL Server 2008 конвертировать с плавающей точкой во время
Не могли бы вы помочь мне с преобразованием поплавка во время?
У меня есть значения (количество часов), которые выглядят так:
[- 104.59 / -104:35:00], [0.25 / 00:15:00], [5,84 /05:50:00]
Я не могу найти решение, потому что по схожим вопросам не было случаев со значениями "+" и "-".
1 ответ
with cte as (select * from (values ('-104.59'), ('0.25'), ('5,84')) t(val))
select val, concat(iif(charindex(':',result)>3,'','0'), result) result
from
cte
cross apply (select replace(val, ',', '.') rp) t
cross apply (select charindex('.', rp) ind) t1
cross apply (select concat(substring(rp, 1, ind-1), ':', cast(substring(rp, ind+1, len(rp)) as int)*60/100, ':00') result) t2