2016-03-01 73 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