mysql学习之--4、mysql浮点型

float[(m,d)][unsigned] [zerofill]

小(单精度)浮点数。允许的值是-3.402823466e+38到-1.175494351e-38、0和1.175494351e-38到3.402823466e+38。这些是理论限制,基于ieee标准。实际的范围根据硬件或操作系统的不同可能稍微小些。

m是小数纵位数,d是小数点后面的位数。如果md被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。

如果指定unsigned,不允许负值。

使用浮点数可能会遇到意想不到的问题,因为在mysql中的所有计算用双精度完成..

·        double[(m,d)] [unsigned] [zerofill]

普通大小(双精度)浮点数。允许的值是-1.7976931348623157e+308到-2.2250738585072014e-308、0和2.2250738585072014e-308到1.7976931348623157e+308。这些是理论限制,基于ieee标准。实际的范围根据硬件或操作系统的不同可能稍微小些。

m是小数总位数,d是小数点后面的位数。如果md被省略,根据硬件允许的限制来保存值。双精度浮点数精确到大约15位小数位。

如果指定unsigned,不允许负值。

·        double precision[(m,d)] [unsigned] [zerofill], real[(m,d)][unsigned] [zerofill]

为double的同义词。除了:如果sql服务器模式包括real_as_float选项,real是float的同义词而不是double的同义词。

·        float(p) [unsigned] [zerofill]

浮点数。p表示精度(以位数表示),但mysql只使用该值来确定是否结果列的数据类型为float或double。如果p为从0到24,数据类型变为没有md值的float。如果p为从25到53,数据类型变为没有md值的double。结果列范围与本节前面描述的单精度float或双精度double数据类型相同。

float(p)语法与odbc兼容。

·        decimal[(m[,d])] [unsigned] [zerofill]

压缩的“严格”定点数。m是小数位数(精度)的总数,d是小数点(标度)后面的位数。小数点和(负数)的‘-’符号不包括在m中。如果d是0,则值没有小数点或分数部分。decimal整数最大位数(m)为65。支持的十进制数的最大位数(d)是30。如果d被省略, 默认是0。如果m被省略, 默认是10。

如果指定unsigned,不允许负值。

所有decimal列的基本计算(+,-,*,/)用65位精度完成。

·        dec[(m[,d])] [unsigned] [zerofill], numeric[(m[,d])][unsigned] [zerofill], fixed[(m[,d])] [unsigned] [zerofill]

是decimal的同义词。fixed同义词适用于与其它服务器的兼容性。


摘自:mysql中文帮助文档

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值