将float值转换为string

Apa*_*jit 0 sql-server sql-server-2008-r2

我使用两个具有Date和float值的列,现在我需要将两个列组合为一个单独的字符串.对于日期我可以将其转换为字符串.但是对于浮点值,它会将小数值四舍五入,不应该是这种情况.

例如,我的浮点值是204.8,日期ID是2014-11-11.现在,当我组合为字符串时,它应该显示为'2014-11-11 204.8'但当我转换浮动值时,它显示为'2014-11-11 204'.我正在使用此查询,

DECLARE @myDateTime DATETIME
DECLARE @StandardCost INT
SET @myDateTime = '2011-12-24 00:00:00.000'
SET @StandardCost = 204.8
SELECT LEFT(CONVERT(VARCHAR, @myDateTime, 120), 10)+ ' ' + CAST(@StandardCost AS VARCHAR(MAX))
Run Code Online (Sandbox Code Playgroud)

结果:2011-12-24 204

任何人都可以帮助我获得精确浮点值与小数字作为字符串.

Sea*_*nge 5

你已经@StandardCost定义为int.它不会保留小数部分.将其更改为numeric支持小数位的一种或其他数据类型.