数据库中数据类型 金钱 数据类型

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(17595)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_081068',
blogTitle:'Access 数据库的数据类型',
blogAbstract:'一、数据类型\r\nAccess数据库为字段提供了10种数据类型,它们的用法和所占存储空间大小如下:\r\n1.文本型(Text):用于输入文本或文本与数字相结合的数据,最长为255个字符(字节),默认值是50。在Access中,每一个汉字和所有特殊字符(包括中文标点符号)都算作一个字符。\r\n表示方法:用英文单引号(’& ’)或英方双引号(”& ”)括起来。例:’王刚’、’会计2班’、’3246291’等。\r\n2.货币型(Currency):用来存储货币值,占8个字节,在计算中禁止四舍五入。',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:2,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'-1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}2003年9月 C/C++大版内专家分月排行榜第二2002年6月 C/C++大版内专家分月排行榜第二2002年4月 C/C++大版内专家分月排行榜第二
2007年3月 C/C++大版内专家分月排行榜第三2007年2月 C/C++大版内专家分月排行榜第三2007年1月 C/C++大版内专家分月排行榜第三2003年7月 C/C++大版内专家分月排行榜第三
2011年3月 Web 开发大版内专家分月排行榜第二2011年1月 Web 开发大版内专家分月排行榜第二2010年10月 Web 开发大版内专家分月排行榜第二2010年9月 Web 开发大版内专家分月排行榜第二2010年6月 Web 开发大版内专家分月排行榜第二
2012年10月 Web 开发大版内专家分月排行榜第三2010年7月 Web 开发大版内专家分月排行榜第三
2003年9月 C/C++大版内专家分月排行榜第二2002年6月 C/C++大版内专家分月排行榜第二2002年4月 C/C++大版内专家分月排行榜第二
2007年3月 C/C++大版内专家分月排行榜第三2007年2月 C/C++大版内专家分月排行榜第三2007年1月 C/C++大版内专家分月排行榜第三2003年7月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。3304人阅读
怎么在mysql中使用float类型,特别是用到金钱时我们可能会用双精度来做,我们知道mysql的float类型是单精度浮点类型不小心就会导致数据误差
对于单精度浮点数Float:& 当数据范围在±536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定,没有发现有相关的参数设置建议:将float改成double或者decimal,两者的差别是double是浮点计算,decimal是定点计算,会得到更精确的数据。
float(m,d),m表示的是最大长度,d表示的显示的小数位数
例如:float(6,1) 表示:
这个浮点数最大长度为6,也就是六位,然后小数部分为1位
至于存储范围,取决于你是否定义了无符号。
无符号的话,最小是0.0 最大能存储到99999.9,如果有符号的话,范围是:-999.9
float列类型默认长度查不到结果,必须指定精度,
比如 num& float,& insert into& table (num) values (0.12); select& * from table where num=0.12的话,empty set。
改成:num float(9,7),& insert into& table (num) values (0.12); select& * from table where num=0.12的话会查到这条记录。
近似值问题:
mysql& insert into tt(num)values();
Query OK, 1 row affected (0.00 sec)
mysql& select& * from&
+------------+
| num&&&&&&& |
+------------+
+------------+
1 row in set (0.00 sec)&注:小数位数不够,自动补齐,但是存在一个问题就是如上的近似值。
mysql& insert into tt(num)values(2.888888);
Query OK, 1 row affected (0.00 sec)
mysql& select& * from&
+------------+
| num&&&&&&& |
+------------+
|&&&&& 2.800 |
|&&&&& 2.889 |
+------------+
5 rows in set (0.00 sec)
注:小数位数超了,自动取近似值。
一、浮点数的概念及误差问题
浮点数是用来表示实数的一种方法,它用 M(尾数) * B( 基数)的E(指数)次方来表示实数,相对于定点数来说,在长度一定的情况下,具有表示数据范围大的特点。但同时也存在误差问题,这就是著名的浮点数精度问题!浮点数有多种实现方法,计算机中浮点数的实现大都遵从 IEEE754 标准,IEEE754 规定了单精度浮点数和双精度浮点数两种规格,单精度浮点数用4字节(32bit)表示浮点数,格式是:1位符号位 8位表示指数 23位表示尾数&&& 双精度浮点数8字节(64bit)表示实数,格式是:1位符号位 11位表示指数
52位表示尾数&&& 同时,IEEE754标准还对尾数的格式做了规范:d.dddddd...,小数点左面只有1位且不能为零,计算机内部是二进制,因此,尾数小数点左面部分总是1。显然,这个1可以省去,以提高尾数的精度。由上可知,单精度浮点数的尾数是用24bit表示的,双精度浮点数的尾数是用53bit表示的,转换成十进制:
2^24 - 1 = ;& 2^53 - 1 = 0991
由上可见,IEEE754单精度浮点数的有效数字二进制是24位,按十进制来说,是8位;双精度浮点数的有效数字二进制是53位,按十进制来说,是16 位。显然,如果一个实数的有效数字超过8位,用单精度浮点数来表示的话,就会产生误差!同样,如果一个实数的有效数字超过16位,用双精度浮点数来表示,也会产生误差!对于 .66 这个数,有效数字是24位,用单精度或双精度浮点数表示都会产生误差,只是程度不同:&&
单精度浮点数:.00;双精度浮点数: .00
可见,双精度差了 0.66 ,单精度差了近4万亿!
以上说明了因长度限制而造成的误差,但这还不是全部!采用IEEE754标准的计算机浮点数,在内部是用二进制表示的,但在将一个十进制数转换为二进制浮点数时,也会造成误差,原因是不是所有的数都能转换成有限长度的二进制数。对于 这个数,其有效数字是8位,按理应该能用单精度浮点数准确表示,为什么会出现偏差呢?看一下这个数据二进制尾数就明白了 01......&&&& 显然,其尾数超过了24bit,根据舍入规则,尾数只取 ,结果就造成测试中遇到的“奇怪”现象!
用单精度浮点数表示变成
,原因与此类似。实际上有效数字小于8位的数,浮点数也不一定能精确表示,7.22这个数的尾数就无法用24bit二进制表示,当然在数据库中测试不会有问题(舍入以后还是7.22),但如果参与一些计算,误差积累后,就可能产生较大的偏差。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:80250次
积分:1448
积分:1448
排名:千里之外
原创:22篇
转载:280篇
(5)(15)(4)(15)(33)(1)(1)(3)(35)(47)(31)(32)(35)(31)(14)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'mysql设计数据库钱用什么字段
全部答案(共2个回答)
int整数型的数据最大长度为9 NULL,插入记录时可以为不输入该栏位 Not NULL插入记录时一定要有输入值,否则记录插入失败
这个还是MYSQL的好啊....因为这是更新的版本的....使用方面的的很方便 的
现在的学生啊。
翻书 书上有例子,而且步骤相当简练,如果你其他课程学的还不错的话,借助书上的例子稍微改动一下应该可以交作业。
上课没学好这次实践的机会要...
数据库的设计,不外乎对数据库对象元素的创建。即表、视图、存储过程、触发器、函数、表间关系等等;数据库的维护,即数据库的备份、恢复、调优等。只看别人的数据库是看不...
答: b超单上数据判断男女要怎样判断啊,这样的数据什么时期才准确啊?
答: 没有恒心和耐不得寂寞者,不要去学
答: 首先的前提条件是,你们的局域网主机允许所属的工作机互访并具有对文件完全修改的权力(这是由管理员设定的)。
假如你的机器编号是a015(或是直接的网址如: ),另...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415}

我要回帖

更多关于 oracle数据库数据类型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信