浮动柱等于

时间:2018-03-25 22:07:20

标签: sql sql-server tsql compare equals

我使用的是SQL Server 2005.我在表CreateAndLaunch中有三列。第1列和第2列是浮点数,ShutDown_instance为1,(ref, column1, column2)为1000,ref为1000。

column1

返回0行

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

它们似乎相等,但查询返回它们不相等。怎么可能呢?

编辑:

Here is the screenshot. They are not same. What causes this and how can i fix it?

2 个答案:

答案 0 :(得分:0)

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

  

CAST(收入AS NUMERIC(10,2))

答案 1 :(得分:0)

但是我得到一行来运行以下查询。请检查。

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

感谢。