MySQL支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。

与整数类型一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。例如,语句FLOAT (5,2)规定显示的值不会超过5位数字,小数点后面带有2位数字。看下面的示范举例:

mysql> insert into data values (876.90);

Query OK, 1 row affected (0.03 sec)

mysql> insert into data values (-5.2);

Query OK, 1 row affected (0.03 sec)

mysql> insert into data values (-12345.789);

ERROR 1264 (22003): Out of range value for column ‘price’ at row 1

mysql> insert into data values (-1234.789);

ERROR 1264 (22003): Out of range value for column ‘price’ at row 1

对于小数点后面的数字个数超过了允许的数目的值,系统会自动将它四舍五入为最接近它的值,然后插入它。下面的例子演示了这一点:

mysql> insert into data values (-14.789);

Query OK, 1 row affected (0.03 sec)

mysql> insert into data values (-141.789);

Query OK, 1 row affected (0.03 sec)

mysql> select * from data;

+———+

| price |

+———+

| 13.60 |

| 876.90 |

| -5.20 |

| -14.79 |

| -141.79 |

+———+

5 rows in set (0.00 sec)

DECIMAL 数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。例如,语句DECIMAL (5,2)规定了存储的值将不会超过5位数字,开且小数点后面有2位数字。

1.首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,numeric将自动转成decimal。

DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下:

M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认值是10。

D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。

说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。

如DECIMAL(5,2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。

M 与D 对DECIMAL(M, D) 取值范围的影响

类型说明取值范围(MySQL < 3.23)取值范围(MySQL >= 3.23)

MySQL < 3.23 MySQL >=3.23

DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9

DECIMAL(5,1) -99.9 到 999.9 -9999.9 到 99999.9

DECIMAL(6,1) -999.9 到 9999.9 -99999.9 到 999999.9

DECIMAL(6,2) -99.99 到 999.99 -9999.99 到 99999.99

DECIMAL(6,3) -9.999 到 99.999 -999.999 到 9999.999

# 在MySQL 3.23 及以后的版本中,DECIMAL(M, D) 的取值范围等于早期版本中的DECIMAL(M + 2, D) 的取值范围。

结论:

当数值在其取值范围之内,小数位多了,则直接截断小数位。

若数值在其取值范围之外,则用最大(小)值对其填充。

MySQL数值类型——FLOAT、DOUBLE和DECIMAL类型

MySQL在内部把DECIMAL数据类型存储为字符串,更精确地保留它们的值。

忽略DECIMAL数据类型的精确度和计数方法修饰符将会使MySQL把所有标识为这个类型的字段的精确度默认为10,计算方法默认为0:

UNSIGNED和ZEROFILL修饰符也可以被FLOAT、DECIMAL和DOUBLE数据类型接受,它们的结果和前一节中描述的一样。

mysql 浮点类_MySQL浮点类型总结相关推荐

  1. mysql字段说明_mysql 字段类型说明

    MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述.概 ...

  2. mysql 字段字节_MySql字段类型及字节

    字段类型: TINYINT-----------------一个很小的整数.有符号的范围是-128到127,无符号的范围是0到255. SMALLINT--------------一个小整数.有符号的 ...

  3. mysql基本数据长度_MySQL的类型与数据长度

    之前遇到一个问题"怎么评估一行MySQL记录占据了多少字节?".自己当时也不是特别清楚.当时只是简单的知道,具体的长度跟编码相关.前几天系统研究了一下MySQL中的编码问题,铺垫已 ...

  4. mysql 单选字段_mysql字段类型

    学习自 https://www.cnblogs.com/jennyyin/p/7895010.html,感谢原博主的奉献 mysql支持多种类型,大致可以分为三类:数值.字符串.日期/时间. 数值类型 ...

  5. mysql索引总结_mysql 索引类型以及创建

    文章归属:http://feiyan.info/16.html  自己还是小白,从借鉴别人的东西开始学习. 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没 ...

  6. mysql int(40)_MySQL Integer类型与INT(11)

    1.介绍 Integer类型,即整数类型,MySQL支持的整数类型有TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT. 1.1 空间和范围 每种整数类型所需的存储空间和范围如 ...

  7. mysql 字符串大小写_Mysql 字符串类型及大小写

    MySQL字符串类型有varchar和char类型,这两者区别很多人都知道,我经常搞混..   所以这里记一下: varchar类型是可变长度: 适合存储长度不一致的数据类型: char类型是固定长度 ...

  8. mysql索引技术_MySQL索引类型

    首先请查看不同引擎支持的索引类型:存储引擎简介 . 聚集索引和非聚集索引概念见:聚集索引与非聚集索引 和 聚集索引 . 覆盖索引见:覆盖索引 . 1. InnoDB的每一个表都会有一个聚集索引(第一索 ...

  9. mysql 数据类_MySQL数据类型

    四.字符串类型 在MySQL中,字符串类型包括CHAR.VARCHAR.BLOB.TEXT.ENUM.SET. 1.CHAR与VARCHAR 其定义方式为: 字符串类型(M) 这个M是长度的意思,插入 ...

  10. mysql double 使用_mysql double类型使用与主键自增

    MySQL设置自增字段的相关语句: alter table album change ALBUM_ID ALBUM_ID bigint not null auto_increment; alter t ...

最新文章

  1. 【EWSA无线路由密码破解工具 中文特别版下载】含教程及字典(弱口令生日特殊符号等)
  2. hexo html代码高亮,使用 prismjs 自定义 Hexo 代码高亮
  3. python itertools卡死_Python使用itertools模块来解决算法问题,python
  4. rabbitmq消费者获取消息慢_RabbitMQ:快速生产者和慢速消费者
  5. 30美味的食物移动应用设计
  6. Win7 maven安装及配置
  7. 故障诊断仪采集发动机EMS故障的报文与故障码记录
  8. D3js-中国各主要大城市经纬度数据
  9. aspen吸收塔气液比优化_Aspen软件在天然气净化过程中的模拟与优化
  10. 不同超声诊断仪器的原理和FPGA在超声中应用
  11. 第二章---《实时语音处理实践指南》发音机理与器件学习笔记
  12. 【新手必看系列】小鸟云服务器该如何配置?
  13. latex参考文献引用【bibtex】
  14. pythonif多个条件同时满足_Python基础:条件控制if
  15. element-ui table表格。数组对应的一组数据占有两行怎么处理?
  16. java 媒体框架_Java 媒体框架 之 JMF
  17. 程序员普遍用gmail_使Gmail更好的最佳Chrome扩展程序
  18. 关于家庭收纳:请好好运用二维码!
  19. Java数据结构—图(Graph)
  20. 捕鱼达人的算法猜测—较色碰撞算法

热门文章

  1. manage run-time environment
  2. Java集合类和数组之间的相互转换
  3. c语言中short作用,详解C语言中整数(short,int,long)
  4. Google Admob 广告快速集成(并集成Firebase统计)
  5. java 实心圆_java JFrame窗口中画一个实心圆并设置背景颜色,但背景不显示,级求解!!...
  6. 语音信号特征处理--Fbank\MFCC
  7. 京东云魏伟:做最懂视频的云
  8. 需求与商业模式分析-6-五个课题
  9. 16 | 把大象装进冰箱:HTTP传输大文件的方法
  10. 四级地址插件升级改造(京东商城地址选择插件)city-picker