sqlserver小数字段设为哪种类型(sqlserver字符型数据类型主要包括)
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
在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)转换。