当前位置:Gxlcms > 数据库问题 > SqlServer中decimal(numeric )、float 和 real 数据类型的区别[转]

SqlServer中decimal(numeric )、float 和 real 数据类型的区别[转]

时间:2021-07-01 10:21:17 帮助过:5人阅读

)

在 Transact-SQL 语句中,带有小数点的常量自动转换为 numeric 数据值,且必然使用最小的精度和小数位数。例如,常量 12.345 被转换为 numeric 值,其精度为 5,小数位为 3。

 decimal 或 numeric  float 或 real 转换会导致精度损失。从 intsmallinttinyintfloatrealmoney 或 smallmoney 向 decimal 或numeric 转换会导致溢出。

默认情况下,在将数字转换为较低精度和小数位数的 decimal 或 numeric 值时,SQL Server 使用舍入法。然而,如果 SET ARITHABORT 选项为 ON,当发生溢出时,SQL Server 会出现错误。若仅损失精度和小数位数,则不会产生错误。

SqlServer中decimal(numeric )、float 和 real 数据类型的区别[转]

标签:

人气教程排行