2012-02-16 62 views
3

嗨,我住在奧地利,我們使用,作爲小數點分隔符。使用正確的小數分隔符將浮點數轉換爲varchar

根據語言/整理設置,使用正確的分隔符將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),'.',',') 

回答

0
  • SSMS格式基於您regional設置
  • SQL引擎的語言設置不影響使用什麼分隔的float類型

正確的是,您應該將數字保留爲數字和格式在客戶端。
這是SSMS爲你做的

另見SQL server with german regional settings

+1

那是真的,謝謝, 但你可以轉換日期時間有不同的風格,爲什麼不小數點分隔符? 所以我仍然認爲它的錯誤(或缺少的功能:) :) – 2012-02-16 12:05:45

+0

@ChristophStaudinger:不知道爲什麼... – gbn 2012-02-16 12:53:00

相關問題