都是精确数据类型, 前两个可以自己定义长度和小数位数, 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,牺牲一点硬盘不算啥。