在 SQL Server 2005 中将浮点数 8.07 转换为 08:07 的字符串

Convert float 8.07 to string as 08:07 in SQL Server 2005

我想将浮动时间字段 8.07 转换为字符串 08:07。有什么简单的方法可以做到这一点? 或者我应该按点拆分它,计算长度并相应地附加零吗?

您可以使用以下查询:

DECLARE @t FLOAT = 8.073

SELECT @t AS t,
       ROUND(@t, 2) AS trunc_t, 
       REPLACE(RIGHT('00' + CAST(ROUND(@t, 2) AS VARCHAR(5)), 5), '.', ':') AS time_t

获得:

t      trunc_t  time_t
---------------------
8.073  8.07     08:07

这个怎么样:

DECLARE @value DECIMAL(9,2) = 8.07

SELECT REPLACE(RIGHT(@value  + 1000000, 5), '.', ':');

当然,您可以更改要添加的小值。