MSSQL(Sql Server)数据特殊类型知识汇总

 

MSSQL(Sql Server)数据特殊类型知识汇总

 

 

01. MSSQL数据类型-货币数据类型(money、smallmoney)

 

 

货币数据类型用于存储货币或现金值,包括money型和smallmoney型。按照类型的取值来区分的话一个是“钱”而另外一个是“小钱”。在使用货币数据类型时,应在数据前加上货币符号,以便系统辨识其为哪国的货币,如果不加货币符号,则系统默认为“¥”。

money型是一个有4位小数的decimal值,其取值从-263(-9 223 372 036 854 775 808) ~263-1(+9 223 372 036 854 775 807),这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的千分之十。存储大小为8个字节。 存储形式为1234567.89。

money小数点后面只有四位数字,四位以后的数字是四舍五入的

smallmoney型货币数据值介于-214748.3648 到214748.3647之间,精确到货币单位的千分之十。存储大小为 4 个字节。 smallmoney和money在小数位都是一样的只不过存储的位数不一样。

 

  存储空间 小数位数 数据精度 数值范围 特点
money型       8字节 4 千分之十 -9220亿到9220 亿 全部“钱”
smallmoney型 4字节 4 千分之十 -214748.3648 到214748.3647 “小钱”  正负21万以内

 

 

 

 

·

(所以,上万以上的钱,尽量不用 smallmoney, 因为加减乘除后很容易超过最大“小钱”的数值范围)

 

MSSQL(SQL Server)中,Numric,Decimal,Money三种数据类型的区别

 

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

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

numeric 功能上等同于  decimal
money  功能上等同于 decimal(x, 4)

 

 

 

 

···

posted @ 2020-10-29 21:20  亟待!  阅读(535)  评论(0编辑  收藏  举报
……