我使用的是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?
答案 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
感谢。