我正在尝试通过“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
答案 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