当我执行以下操作时:
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。
查询浮点字段时是否有配置设置正确的分隔符? 我不想在我的所有问题中进行演员或替换。
答案 0 :(得分:2)
绝对不要尝试使用REPLACE
来解决这个问题。应尽可能在显示层中处理显示问题。如果你有一个浮点数,则将其视为浮点数,而不是字符串。
设置应来自计算机的区域设置。我相信有一个错误导致十进制数据类型不使用该设置(总是使用小数点的句点),但对于浮点数和金钱它应该使用区域设置。如何设置这些将取决于您的确切操作系统,但如果您在“开始”菜单中搜索类似的内容,"更改数字格式"或"区域设置"你应该希望能够找到它。