SQL Server中数值、浮点数和十进制的差异

SQL Server中数值、浮点数和十进制的差异

我在谷歌搜索并访问了十进制和数字SQLServer助手收集数字、浮点数和十进制数据类型之间的差异,并找出在哪种情况下应该使用哪种数据类型。

对于任何类型的金融交易(例如工资领域),哪个优先考虑,为什么?


慕少森
浏览 770回答 3
3回答

慕妹3242003

MSDN指南:使用十进制、浮点和实数据数值和十进制数据类型的默认最大精度为38。在Transact-SQL中,数字在功能上等同于十进制数据类型。当必须按照指定的方式存储数据值时,使用十进制数据类型存储带有小数的数字。浮点和实的行为遵循IEEE 754关于近似数字数据类型的规范。由于浮点数和实际数据类型的近似性质,当需要精确的数字行为时,例如在财务应用程序、涉及四舍五入的操作或等式检查中,不要使用这些数据类型。相反,使用整数、十进制、货币或小额货币数据类型。避免在WHERE子句搜索条件中使用Float或REAL列,尤其是=和<>运算符。最好将浮动列和实际列限制为>或<比较。

慕斯709654

它们在数据类型优先性方面存在差异十进制和数字是一样的功能上但还是有数据类型优先,这在某些情况下可能是至关重要的。SELECT&nbsp;SQL_VARIANT_PROPERTY(CAST(1&nbsp;AS&nbsp;NUMERIC)&nbsp;+&nbsp;CAST(1&nbsp;AS&nbsp;DECIMAL),'basetype')结果数据类型是数字因为这需要数据类型优先.按优先顺序分列的详尽的数据类型列表:参考链接
打开App,查看更多内容
随时随地看视频慕课网APP