Mam float variable-field1
w 2 tables-table1
& table2
. Kiedy wyszukuję w tabeli i sprawdzam wartości pola, oba wyglądają identycznie, ale gdy znajdę ich różnicę, daję różnicę zamiast zera.Porównywanie 2 wartości float w sqlserver
Field1(Table1) value---84.4660194174757
Field2(Table2) value---84.4660194174757
Differnce---1.4210854715202E-14
Dlaczego miałbym dostać ten problem?
Cóż, dlaczego używasz 'FLOAT' zamiast' DECIMAL'? –
Dane są eksportowane z arkusza kalkulacyjnego, a serwer sqlserver automatycznie wykrywa go za pomocą FLOAT. – user1050619
'FLOAT' jest przybliżonym typem danych, więc tego rodzaju różnicę można się spodziewać – Lamak