创建xml架构集合fractionDigits限制的最大值

时间:2012-11-02 07:46:43

标签: sql-server xsd

我正在尝试通过“create xml schema collection”语句将第三方XSD Scheme加载到我的SQL Server 2008中

基于“xs:decimal”的复杂类型有限制:

        <xs:totalDigits value="31"/>
        <xs:fractionDigits value="14"/>

在XSD内部。

SQL Server返回错误

Msg 6960, Level 16, State 2, Line 2
Component 'NAME' is outside of allowed range. Maximum for 'fractionDigits' is 10 and maximum number of digits for non fractional part is 28

但我仍然能够创建一个类型为“numeric(31,14)”

的变量

我没有在w3c文档和MSDN中找到任何限制。能否请您指导一些有关此限制的文档。可能是我可以用一些Service Pack或设置修复它。

SQL Server版本:Microsoft SQL Server 2008(SP3) - 10.0.5500.0(X64)2011年9月21日22:45:45版权所有(c)1988-2008 Microsoft Corporation企业版(64位)在Windows NT 6.1上( Build 7601:Service Pack 1)


我在MSDN(http://msdn.microsoft.com/en-us/library/ms190665(v=sql.100).aspx

上找到了答案
  

SQL Server不支持变精度小数。该   xs:decimal类型表示任意精度十进制数。   符合最低要求的XML处理器必须支持十进制数   至少totalDigits = 18。 SQL Server支持totalDigits = 38,但是   将小数位限制为10.所有xs:十进制实例值   由服务器在内部使用SQL类型数字表示   (38,10)。

他们将xs:decimal映射到 numeric 类型,但 decimal

1 个答案:

答案 0 :(得分:2)

我在MSDN(http://msdn.microsoft.com/en-us/library/ms190665(v=sql.100).aspx

上找到了答案
  

SQL Server不支持变精度小数。该   xs:decimal类型表示任意精度十进制数。   符合最低要求的XML处理器必须支持十进制数   至少totalDigits = 18。 SQL Server支持totalDigits = 38,但是   将小数位限制为10.所有xs:十进制实例值   由服务器在内部使用SQL类型数字表示   (38,10)。

他们将xs:decimal映射到 numeric 类型,但 decimal