在 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), '.', ':');
当然,您可以更改要添加的小值。
我想将浮动时间字段 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), '.', ':');
当然,您可以更改要添加的小值。