![解释 SQL Server 实际数据类型和 Excel 表示之间的区别](https://linux22.com/image/1336059/%E8%A7%A3%E9%87%8A%20SQL%20Server%20%E5%AE%9E%E9%99%85%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E5%92%8C%20Excel%20%E8%A1%A8%E7%A4%BA%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%88%AB.png)
SQL Server 中的实际数据类型是精度 7,但有时 Excel 显示的精度高于此,有时小数部分完全不同。有人可以解释这些结果吗:
**Number Inserted | Displayed in SSMS | Displayed in Excel**
_________________________________________________________
12345678 1.234568E+07 12345678
1234567.1 1234567 1234567.125
1234567.5 1234568 1234567.5
1234567.45 1234568 1234567.5
1234567.59 1234568 1234567.625
1234567.69 1234568 1234567.75
1.12345678 1.123457 1.123456836
1.5123456 1.512346 1.512345552
90000000 9E+07 90000000
99999999 1E+08 100000000
答案1
简单来说,SSMS 显示被格式化为 7 位有效数字,对于大于 10,000,000 的数字采用指数表示法。
Excel 显示屏可能显示双精度,并且出于这些目的(几乎)显示“精度 7”数字存储的实际二进制值。