数据库中float,double与decimal的区别

1.Decimal 数据包含存储在最小有效数上的数据。在 SQL Server中,小数数据使用 decimal 或 numeric 数据类型存储。存储 decimal 或 numeric 数值所需的字节数取决于该数据的数字总数和小数点右边的小数位数。2.decimal(18,4),decimal(19,1),两者能保存的整数位和小数位不同.

create table tb(val1 decimal(18,4) , val2 decimal(19,1))
go
 
insert into tb values(1234567890123.1234 , 12345678901234567.1)
 
select * from tb
 
drop table tb
 
/*
val1                 val2                  
-------------------- --------------------- 
1234567890123.1234   12345678901234567.1
 
(所影响的行数为 1 行)
*/



精度不同,一个是小数点后面精确4位,一个是精确1位
注意的是decimal(18,4)总长18位,包括1位小数点和4为小数,也就是说18-1-4=13整数位只有13位
decimal(19,1)总长19位,17位整数,1位小数

注意float与double数据类型储存的是近似值,而decimal是字符串

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值