我想将浮点时间字段8.07
转换为字符串08:07
。有没有简单的方法来做到这一点?
或者我应该用点分割,计算长度并相应地加零?
答案 0 :(得分:3)
这个怎么样:
DECLARE @value DECIMAL(9,2) = 8.07
SELECT REPLACE(RIGHT(@value + 1000000, 5), '.', ':');
当然,您可以将要添加的值更改为小的值。
答案 1 :(得分:0)
您可以使用以下查询:
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