【发布时间】:2014-06-16 16:20:13
【问题描述】:
例如 FLOAT 类型具有默认数值精度53
SELECT * FROM sys.types
TDS 协议发送精度 53,但通过 OLEDB 精度返回为 18。
精确度53 到底是什么意思,似乎不可能将尽可能多的十进制数字放入 8 个字节中? OLEDB 如何从该号码中获取18?我在 Microsoft 资源中找到了 MaxLenFromPrecision,但这个数组的精度高达 37,仅适用于数字类型。 FreeTDS 的数组最大为 77 tds_numeric_bytes_per_prec,但与 Microsoft 的数据不同,并且与 OLEDB 返回的索引 53 不相似,而不是 18。也就是说53 是一些虚拟数字,而18 是http://msdn.microsoft.com/en-us/library/ms190476.aspx 中描述的真实精度?
【问题讨论】:
标签: sql-server