选择查询在某些字段上显示小数位,但不包括其他字段

时间:2017-01-24 08:57:15

标签: sql sql-server

我有两张桌子,A& B.

表A有一个名为Nominal的列,它是一个浮点数。

表B有一个名为Units的列,它也是一个浮点数。

我有一个简单的选择查询,突出显示表A和表中的Nominals之间的任何差异。表B中的单位。

 select coalesce(A.Id, B.Id) Id, A.Nominal, B.Units, isnull(A.Nominal, 0) - isnull(B.Units, 0) Diff
 from tblA A full outer join tblB B
 on tblA.Id = tblB.Id
 where isnull(A.Nominal, 0) - isnull(B.Units, 0) <> 0

此查询有效。但是今天早上我有一个小问题。

查询在线显示有差异,

   Id    Nominal      Units     Diff
   FJLK  100000       100000    1.4515E-11
显然,其中一个或两个数字都不是100,000。但是当我在这两个表(单独)上运行一个select查询时,这两个表都返回100,000我看不到哪个有小数位,为什么会这样?这是SQL Server中的某种默认显示吗?

1 个答案:

答案 0 :(得分:0)

在excel中你会发现这种行为。

它是表示较低数字的标准方式。您获得的数字1.4515E-111.4515 * 10^(-11)

相同