浮子柱相等



我使用SQL Server2005。我在表(ref, column1, column2)中有三列。第1列和第2列是浮点,ref为1,column1为1000,column2为1000。

select * 
from table 
where ref = 1 and column1 = column2

返回0行(S(

我将它们转换为十进制,它们是相同的。

它们看起来平等,但是查询回报是否不相等。怎么可能?

编辑:

这是屏幕截图。他们不一样。是什么原因导致了这一点,我该如何修复它?

浮点类型是近似。在比较中使用它的最佳方法是首先将其转换为整数或小数点:

cast(收入为数字(10,2((

,但我要一行运行以下查询。请检查。

DECLARE  @TABLE TABLE (REF INT,COLUMN1 FLOAT,COLUMN2 FLOAT)
INSERT INTO @TABLE
SELECT 1,1000,1000
SELECT * FROM @TABLE WHERE REF = 1 and COLUMN1 = COLUMN2

谢谢。

相关内容

  • 没有找到相关文章

最新更新