Sql的decimal、float、double类型的区别
类别:数据库 浏览量:83273
时间:2013-11-17 Sql的decimal、float、double类型的区别
Sql的decimal、float、double类型的区别
三者的区别介绍
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)
double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)
decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)
按存储的范围进行排序
float(real)
double
decimal(numeric)
decimal的详细介绍
decimal(a,b)
参数说明
a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。
b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。
备注
DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。例如,语句DECIMAL (5,2)规定了存储的值将不会超过5位数字,开且小数点后面有2位数字。
实例
float f = 345.98756f;--结果显示为345.9876,只显示7个有效位,对最后一位数四舍五入。
double d=345.975423578631442d;--结果显示为345.975423578631,只显示15个有效位,对最后一位四舍五入。
--注:float和double的相乘操作,数字溢出不会报错,会有精度的损失。
decimal dd=345.545454879.....--可以支持28位,对最后一位四舍五入。
--:当对decimal类型进行操作时,数值会因溢出而报错。
总结
数值存储范围越小的精度越高,存储数值范围越大,精度就越不准确,如果存储正常金额的情况下,使用money,好处在于可以存储不指定的小数点位数的数值,比较真实。如果对于既要求精度,又固定小数点位数的数值存储,采用decimal(numeric),优点在于可以自定义小数点位数,精度高。如特殊情况,如数值范围巨大只能用float(real)类型了,此类型一般不提倡使用。
您可能感兴趣
- sql server附加数据库出错(SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程)
- navicat创建MySql定时任务的方法详解(navicat创建MySql定时任务的方法详解)
- navicat连接mysql1045解决方法(Navicat 连接服务器端中的docker数据库的方法)
- mybatis执行sql源码解析(mybatis调用sqlserver存储过程返回结果集的方法)
- mysql导出数据的方法
- sqlserver2008收缩数据文件(SQL2008 详解直接将XML存入到SQL中)
- 查看SQL SERVER指定数据库中所有的触发器
- mysql explain的用法
- SQL Server 表变量的用法
- SQL中FOR XML PATH
- sqlserver2019使用教程图文(SQLServer2019 数据库环境搭建与使用的实现)
- sql server中sleeping状态
- sql server中的死锁
- sql对象资源管理在哪(SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用)
- mysql必知必会索引(MySQL索引知识的一些小妙招总结)
- 详解DB2 sqlstate 57016 SQLCODE=-668 原因码 "7"错误的快速解决办法(详解DB2 sqlstate 57016 SQLCODE=-668 原因码 "7"错误的快速解决办法)
- 菲律宾旅游攻略(菲律宾旅游攻略地图)
- 清华大学难考吗(清华大学考研录取分数线)
- 观花盆栽佛肚竹盆景制作及养护(观花盆栽佛肚竹盆景制作及养护)
- 春天养佛肚竹,做好这几件事,叶绿根壮寓意好 越养越旺家(春天养佛肚竹做好这几件事)
- 律界衣品最好,时尚圈学识数高,41岁的Amal堪称现实版的傲骨贤妻(时尚圈学识数高)
- 刘智泰确认出演《Good Wife》 担纲男一号(刘智泰确认出演Good)
热门推荐
- apache 代理服务器返回403(Apache中301重定向的配置代码)
- mysql如何删除整个表及数据(Mysql删除数据以及数据表的方法实例)
- php守护进程(什么是PHP7中的孤儿进程与僵尸进程)
- win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法(win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法)
- linux连接工具命令行长度设置(linux userdel 命令的使用)
- css设置超链接样式
- sqlserver存储过程使用变量(浅析SQL Server的嵌套存储过程中使用同名的临时表怪像)
- 面试时问期望工资怎么回答
- dedecms使用教程(Dedecms提示信息及提示内容的修改方法)
- 图片和文字对齐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9