SQL Server浮点数据类型的理解

时间:2015-06-28 10:45:38

标签: c# sql sql-server sql-server-2008 sql-server-2012

https://msdn.microsoft.com/en-us/library/ms173773%28v=sql.110%29.aspx

我在具有浮点类型列的表中插入值(0.12346789123456789123456789)之后,查询并返回包含0.1234567891234568个数字的17。我有3个问题

  1. 如何回溯输入和输出的二进制表示?该文档称它默认使用53位。我正在使用SQL Server Management Studio,并且我不知道如何在声明列类型时指定n值。

  2. 文件中不包含17号,我想知道它来自哪里。

  3. 在Big或Little Endian系统中,我想知道如何处理这样的输入并将其转换为低级字节系统的输出。如果有人知道解释,我会很感激。

1 个答案:

答案 0 :(得分:0)

DECLARE @i float = 0.1234567890123456789123456789
SELECT @i

0.123456789012346

有15位数字;和

  

请注意,首先0不计算在内。

DECLARE @i float = 123456.1234567890123456789123456789
SELECT @i

123456.123456789

也有15位数字。

记录here精确是15位数