2016-03-01 95 views
0

當我做到以下幾點:SQL查詢以逗號分隔而不是「。」顯示浮點數。

declare @x float = 1.5 
    select @x 

顯示的結果是1,5,而不是1.5

但是,當我print @x,它顯示正確的結果:1.5"

當我用float字段查詢表時,也會發生這種情況。

我使用的是sql server 2008 r2,服務器和數據庫的排序規則是sql_latin1_cp1_cs_as。

查詢float字段時,是否有配置來設置正確的分隔符? 我不想在所有的查詢中進行轉換或替換。

回答

2

絕對不要試圖用REPLACE來解決這個問題。應儘可能在顯示層中處理顯示問題。如果你有一個浮點數,把它當作一個浮點數,而不是一個字符串。

設置應該來自計算機的區域設置。我相信有一個錯誤會導致十進制數據類型不使用該設置(總是使用小數點的週期),但對於浮點數和金錢它應該使用區域設置。如何設置這些將取決於您的確切操作系統,但是如果您在開始菜單中搜索諸如「更改數字格式」或「區域設置」之類的內容,則希望能夠找到它。

+0

我正在運行Windows 7.我查看Control painel - > Region和Language - > Additional Settings - > Numbers - > Decimal Symbol - >從「,」更改爲「。」。然後回到SQL,它工作正常! – DuroForce