使用正确的小数分隔符将float转换为varchar

时间:2012-02-16 10:53:38

标签: sql-server-2008 decimal-point

您好我住在奥地利,我们使用,作为小数点分隔符。

根据语言/整理设置,似乎无法使用正确的分隔符将float转换为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),'.',',')

1 个答案:

答案 0 :(得分:0)

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

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

另见SQL server with german regional settings