- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于float和decimal
关于 float 和 decimal
数据库设计之不要纠结
关于float 和decimal
在数据库设计中,我们纠结于选择float还是decimal的数据类型存储带小数的数字,
因为前者为4-8个字节,后者为5-17个字节。实际上对于数量和金额这类数据,假定只
带两位小数,如果要让 float 只存储为 4 个字节,则最大的精确数字为:99999.99,实
际中根本满足不了绝大多数的应用,所以实际中一般要用 float,即为 float(53),存储
为 8 个字节;我们再看 decimal,假定我们保留 8 为小数(应该是满足了绝大多数的精度
要求了),使用decimal(19,8),该类型可以准确反映最大为:99999999999该
数值为1000亿,可以满足大部分的应用了吧?这种类型存储也只不过9个字节而已。我
们需纠结那1个字节么?
假定我们一个表一年产生一千万级别的数据,其存储空间也不过增大了
9.5M1/1024/1024)。问题是这种级别的表会有很多么?在目前种 T 级别存储
的时代,似乎可以忽略不计了吧。
另外,在 SQL Server 2005 Service Pack 2 或更高版本,可启用 vardecimal 存储
格式。在 SQL Server 2008 中,用户数据库始终是启用的。
根据列的精度(1 到 38),decimal 值的存储将占用 5 到 17 个字节。当表不使用
vardecimal 存储格式时,对于每个定义的 decimal 列,该表中的每个条目会占用相同
数量的字节,即使行值为 0、NULL 或某些可以用较少量字节表示的值(如数字 3)也是
如此。使用 vardecimal 存储格式存储表时,每行的 decimal 列仅占用容纳所提供数字
所需的空间,外加 2 个字节的开销。空间占用结果始终介于 5 到 20 个字节之间。其
中包括用于存储值偏移量的 2 个字节开销。但是,会对 Null 值和零做特殊处理,它们
仅占用 2 个字节。
如果表不包含任何可变长度列,则每行需要 2 个字节的额外开销来存储可变长度列
的数量。如果表已至少包含一个可变长度列,则不需要额外开销。
第 1 / 4 页
关于 float 和 decimal
一、 float
在 SQL SERVER 中 float 表示浮点数。由于其存储特点,浮点数为近似值,因此并非
所有的数值都能准确表示,即你输入的数据可能已经被近似地存储了,所以读出来数值
并非你写入的数值。
Float表示的数据范围为:-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至
1.79E + 308
在SQL SERVER中还有个Real数据类型,和Float是同义的,只是其表示的范围较小,
为:-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38
Real数据类型存储为4个字节,其类型相当于Float(24)。Float的默认值为53,即
float等同于float(53)。Float的标准定义语法为:float(n)。当n24是则存储为8个
字节,否则为4个字节。n 为用于存储 float 数值尾数的位数(以科学记数法表示)。
Real的精度为7数字,如果超过7位数字,则会用近似值表示,示例如下:
declare @r as real
set @r=123456789
select @r
其查询结果为:1.234568E+08
declare @r as real
set @r=1234567.89
select @r
其查询结果为:1234568
也就是超过千万的数字,则小数部分就表示不了了。
float的精度为15数字,如果超过15位数字,则会用近似值表示,示例如下:
declare @f
您可能关注的文档
- 便携式数字心率计.pdf
- 促进幼儿同情心发展的教育现场实验研究_杨丽珠.pdf
- 促纤维化细胞因子在纤维化胰腺组织中的表达.pdf
- 俄罗斯600年前女尸产下活婴存活72小时.pdf
- 保定烟囱美化公司.doc
- 便携式碳纤维桅杆中文资料.pdf
- 保护渣熔化速度测量方法1.pdf
- 保湿喷雾用法4大误区补水保湿产品要注意.doc
- 保湿十大要诀,春季脸蛋像花瓣一样细滑.docx
- 保险电话行销技巧.pptx
- 2024-2025学年人教版小学数学四年级下册教学计划及进度表.docx
- 2024-2025学年北师大版小学数学二年级下册教学计划及进度表.docx
- 2024-2025学年人教版小学数学五年级下册教学计划及进度表.docx
- 2024-2025学年人教大同版(2024)小学英语三年级下册教学计划.docx
- 2024-2025学年人教精通版(三起)(2024)小学英语三年级下册教学计划.docx
- 2024-2025学年统编版初中道德与法治八年级下册教学计划及进度表.docx
- 2024-2025学年统编版(2024)初中道德与法治七年级下册教学计划及进度表.docx
- 2023-2024学年上海黄埔区中考二模综合测试(物理部分)试卷及答案.pdf
- 2024-2025学年外研版(三起)(2024)小学英语三年级下册教学计划及进度表.docx
- 2025届北京市北京第四中学高三冲刺模拟数学试卷含解析.doc
文档评论(0)