3

嗨,我住在奥地利,我们使用,小数点分隔符。

根据语言/排序规则设置,使用正确的分隔符将浮点数转换为 varchar 似乎是不可能的?

这是一个错误吗?

set language german --makes no difference in this case
declare @f float = 4.5
select @f --output in my management studio is 4,5 
          --according to the regional os settings this is correct

select convert(varchar,@f) -- output: 4.5 not correct

一种解决方案,但我认为并不理想

select replace(convert(varchar,@f),'.',',')
4

1 回答 1

0
  • SSMSfloat根据您的regional设置格式化类型
  • SQL 引擎语言设置不影响使用的分隔符

正确地,您应该在客户端中将数字保留为数字和格式。
这就是 SSMS 正在为您做的事情

另请参阅具有德语区域设置的 SQL 服务器

于 2012-02-16T11:07:28.777 回答