Sql server 在sql server中从实数据类型转换为货币数据类型时是否会丢失精度?

Sql server 在sql server中从实数据类型转换为货币数据类型时是否会丢失精度?,sql-server,database,types,Sql Server,Database,Types,我有一个数据字段为实数据类型的表。转换为货币或十进制数据类型时是否会丢失精度?这取决于为十进制类型指定的精度和比例。例如,如果您有一个十进制(19,2),并尝试转换实数数字1.123,您将得到值1.12 decimal类型的精度高于real类型,因此它能够处理其范围内的任何real值,而不会降低精度 money类型可以保存与十进制(19,4)相同的数据 decimal和money类型是精确类型,而real是近似类型。如果将real转换为decimal,则可能会看到与real值不完全相同的值,但这

我有一个数据字段为实数据类型的表。转换为货币或十进制数据类型时是否会丢失精度?

这取决于为十进制类型指定的精度和比例。例如,如果您有一个
十进制(19,2)
,并尝试转换
实数
数字
1.123
,您将得到值
1.12

decimal
类型的精度高于
real
类型,因此它能够处理其范围内的任何
real
值,而不会降低精度

money
类型可以保存与十进制(19,4)相同的数据


decimal
money
类型是精确类型,而
real
是近似类型。如果将
real
转换为
decimal
,则可能会看到与
real
值不完全相同的值,但这是因为显示时,
real
值是四舍五入的,
decimal
值不是四舍五入的。

这取决于为decimal类型指定的精度和比例。例如,如果您有一个
十进制(19,2)
,并尝试转换
实数
数字
1.123
,您将得到值
1.12

decimal
类型的精度高于
real
类型,因此它能够处理其范围内的任何
real
值,而不会降低精度

money
类型可以保存与十进制(19,4)相同的数据

decimal
money
类型是精确类型,而
real
是近似类型。如果将
real
转换为
decimal
,您可能会看到与
real
值不完全相同的值,但这是因为
real
值在显示时是四舍五入的,而
decimal
值不是。

浮点(4)(也称为real)和浮点(8)是IEEE 754浮点类型用它们来表示货币价值是错误的。它们用于计算,其中值具有较大的动态范围,而存储在相对较少的字节数中。浮点数的使用以及它们的精确程度本身就是一门科学,不容易解释。

浮点(4)(又称实数)和浮点(8)是IEEE 754浮点类型用它们来表示货币价值是错误的。它们用于计算,其中值具有较大的动态范围,而存储在相对较少的字节数中。浮点数的使用及其精确性本身就是一门科学,不容易解释