SQL Server中,Numric,Decimal,Money三种字段类型的区别

时间:2021-09-05 05:50:21

都是精确数据类型, 前两个可以自己定义长度和小数位数, Money的定义相当于Numric(19,4)

numeric(10,2)
表示最大可以放10位数,但这10位数里有2位是小数如:
12345678.12

numeric
功能上等同于 decimal。

sql server的 money 类型其实就是小数类型 decimal 。

  字节数 长度(小数点前.小数点后)
money 8 15位.4位
decimal(19,4) 9 15位.4位(千万亿以下)
     
smallmoney 4 6位.4位
decimal(10,4) 9 6位.4位(百万以下)
     
decimal(9,4) 5 5位.4位(十万以下)

decimal与money同样的长度与精度,但decimal占用字节数要比money多1个字节(比smallmoney更是要多5个字节),为了通用与标准,建议直接用decimal,牺牲一点硬盘不算啥。