我正在对数据库进行规范化,其中一部分涉及将一个表中的列从 a 转换FLOAT
为 a DECIMAL(28,18)
。然后,当我尝试将此转换后的列连接回源列时,在某些情况下它不会返回任何结果。
这似乎与它的转换方式有关。例如, FLOAT
转换为 aDECIMAL(28,18)
会产生:
51.051643260000006000
原文FLOAT
是
51.05164326
我尝试了各种修改 的方法FLOAT
,但这些都不起作用:
CAST(51.05164326 AS DECIMAL(28,18)) = 51.051643260000000000
STR(51.05164326 , 28,18) = 51.0516432599999990
转换的原因是由于提高了这些字段的准确性。
有没有人有一个一致的策略来转换这些数字,并能够确保后续的加入工作?
提前致谢
厘米