sqlserver小数字段设为哪种类型(sqlserver字符型数据类型主要包括)

如题所述

在SQLServer中,实际上小数数值只有两种数据类型:float和decimal,分别是近似数值和精确数值。

float表示近似数值,存在精度损失,数据类型是float(n),n是可选的,默认类型是float(53),占用8bytes。虽然n的取值范围是1-53,实际上,float只能表示两种类型float(53)和float(24),分别占用8Bytes和4Bytes。

decimal不存在精度损失,数据类型decimal(p,s)需要分别指定小数的最大位数(p)和小数位的数量(s)。decimal数据类型的最大精度为38。即decimal数据类型最多可以存储38位数字,所有这些数字均可位于小数点后面。decimal数据类型存储精确的数字表示形式,没有近似值。

扩展资料:

双精度(doubleprecision)数据类型等价于float(53),real等价于float(24),numeric是decimal的同义词,应该避免在程序中直接使用doubleprecision、real和numeric,而是用float(24)、float(53)和decimal代替。

float是近似数值,存在精度缺失;decimal是精确数值,不存在精度损失。当数值不允许精度丢失时,使用decimal数据类型存储数据。在计算小数的除法时,SQLServer内部隐式升级数据类型,根据小数数值的数据类型,就近向float(24)或float(53)转换。

温馨提示:答案为网友推荐,仅供参考
相似回答