sql server东西浮动

时间:2016-08-05 10:44:21

标签: sql sql-server

我遇到了填充查询的问题

grondstof = stuff(( select '[' + cast(cast((Grondstof1) as int) as varchar(20)) + ']'
     FROM table g       
   FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1,0, '')

这是得到[0] [0]左和我期望的[0.40] [0.20]

= stuff(( select '[' + cast(cast((Grondstof1*100) as int) as varchar(20)) + ']'
     FROM table g 
    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1,0, '')

给了我[40] [20]

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

试试这个,

stuff(( select '[' + cast(cast((Grondstof1) as DECIMAL(6,2)) as varchar(20)) +']' 
FROM table g
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1,0, '')

答案 1 :(得分:1)

您可以使用str()功能。 。 。或者将带小数的数字转换为字符串的其他方法:

stuff((select '[' + str(4, 2) +']'
       from table g 
       FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1,0, '')