【发布时间】:2012-07-18 18:43:23
【问题描述】:
我在英国。我在德国有一台 Windows 2008 服务器,上面安装了 SQL Server 2008 R2 Express。 Windows 的区域设置设置为英国。 SQL Server 语言设置为英语。当我跑步时
sp_helplanguage @@LANGUAGE
显示设置为
us_english
我在数据库中有许多表,其中包含浮点数据类型。当我使用 SSMS 更改浮点值之一时,如果我输入
1234.1234
首先显示为
1234,1234
然后当我单击该行进行保存时,它显示为
12341234
ASP.NET 应用程序通过存储过程提供数据并放入双精度数据 (VB.NET) 中,它会执行一个
String.Format("{0:#0.0000}", dMyDouble)
这呈现为
12341234,0000
不用说,在我的本地服务器(全部基于英国)上,所有数据库输入的数字都会按我的预期显示 (1234.1234),而 .NET 会按照我的预期对它们进行格式化 (1234.1234)。我知道我的欧洲朋友在英国使用与我们不同的符号,但我需要输出英国格式 - 更重要的是数据库中的浮点数!
.NET 格式不正确的事实,我想这纯粹是因为数字没有存储准确性。
我也使用小数列 (18, 4) 进行了一些操作,得到了类似的结果。当我使用点 (.) 键入 1234.1234 时,它会替换为逗号 (,)。当行保存时,它另存为
12341234.0000
【问题讨论】:
标签: sql-server localization windows-server-2008 sqldatatypes