首页 > 解决方案 > 具有相同排序规则的两个不同 SQL Server 以两种不同的方式显示相同的十进制字段

问题描述

我有 2 个具有相同排序规则的不同 SQL Server 安装,“Latin1_General_CI_AS”。
这两个实例具有相同的数据库,具有相同的表和相同的字段。

其中一个字段是 Decimal(18,4),如果在 Sql Server 管理中显示表的记录,我会看到 2 个不同的值。
在一种情况下,我看到小数分隔符的“逗号”,在另一种情况下,我看到小数分隔符的“点”。

像这样的东西:

124.4500
124,4500

命令:

SELECT @@Language

两个实例都相同(“us_english”)。

我不知道为什么我会为同一个表的同一个字段得到 2 个不同的值。

标签: sql-serverdecimalcollation

解决方案


您用于连接的帐户可能在两个实例上的定义方式不同。

通过连接两个不同的帐户,我在同一台服务器上遇到了类似的问题。在我的情况下,两个帐户之一的默认语言设置为“默认”而不是“意大利语”,因此只有一个帐户使用来自全局 @@Language 的值。我还注意到,如果您使用的是 ODBC,这种设置可以在 DNS 级别被覆盖,在您可以指定数据库的同一窗口中。


推荐阅读