SQL Server浮点数据类型的理解

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

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

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

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

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

 DECLARE @i float = 0.1234567890123456789123456789 SELECT @i 0.123456789012346 

那有15位数; 和

请注意,前0不计算在内。

 DECLARE @i float = 123456.1234567890123456789123456789 SELECT @i 123456.123456789 

还有15位数字。

这里记录的是Precision是15位数