http://www.sitearth.com/%E5%85%B ... %E7%B1%BB%E5%9E%8B/

一般赋予浮 点列的值被四舍五入到这个列所指定的十进制数。如果在一个FLOAT(8, 1)的列中存储1. 2 3 4 5 6,则结果为1. 2。如果将相同的值存入FLOAT(8, 4) 的列中,则结果为1. 2 3 4 6。这表示应该定义具有足够位数的浮点列以便得到尽可能精确的值。如果想精确到千分之一,那就不要定义使该类型仅有两位小数。

浮点值的这种处理在MySQL3.23 中有例外,FLOAT(4) 和FLOAT(

的性能有所变化。这两种类型现在为单精度( 4 字节)和双精度( 8 字节)的类型,在其值按给出的形式存放(只受硬件的限制)这一点上说,这两种类型是真浮点类型。

DECIMAL 类型不同于FLOAT和DECIMAL,其中DECIMAL 实际是以串存放的。DECIMAL 可能的最大取值范围与DOUBLE 一样,但是其有效的取值范围由M 和D 的值决定。如果改变M 而固定D,则其取值范围将随M 的变大而变大。表2 – 7的前三行说明了这一点。如果固定M 而改变D,则其取值范围将随D 的变大而变小(但精度增加)。表2 – 7的后三行说明了这一点。

mysql的decimal类型

给定的DECIMAL 类型的取值范围取决于MySQL的版本。对于MySQL3.23 以前的版本,DECIMAL(M, D) 列的每个值占用M 字节,而符号(如果需要)和小数点包括在M 字节中。因此,类型为DECIMAL(5, 2) 的列,其取值范围为-9.99 到9 9 . 9 9,因为它们覆盖了所有可能的5 个字符的值。

正如MySQL3.23 一样,DECIMAL 值是根据ANSI 规范进行处理的, ANSI 规范规定DECIMAL(M, D) 必须能够表示M 位数字及D 位小数的任何值。例如, DECIMAL(5, 2) 必须能够表示从-999.99 到999.99 的所有值。而且必须存储符号和小数点,因此自MySQL3.23以来DECIMAL 值占M + 2 个字节。对于DECIMAL(5, 2),“最长”的值(- 9 9 9 . 9 9)需要7个字节。在正取值范围的一端,不需要正号,因此MySQL利用它扩充了取值范围,使其超过了ANSI 所规范所要求的取值范围。如DECIMAL(5, 2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。

简而言之,在MySQL3.23 及以后的版本中,DECIMAL(M, D) 的取值范围等于更早版本中的DECIMAL(M + 2, D) 的取值范围。在MySQL的所有版本中,如果某个DECIMAL 列的D 为0,则不存储小数点。这样做的结果是扩充了列的取值范围,因为过去用来存储小数点的字节现在可用来存放其他数字了。

作者: liyihongcug

发布时间: 2010-09-16

mysql定义取值范围_mysql的decimal类型取值范围相关推荐

  1. mysql decimal 类型_MySQL中decimal类型用法的简单介绍

    MySQL中支持浮点数的类型有FLOAT.DOUBLE和DECIMAL类型,DECIMAL 类型不同于FLOAT和DOUBLE,DECIMAL 实际是以串存放的.DECIMAL 可能的最大取值范围与D ...

  2. mysql 不指定 长度吗_mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗?...

    原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...

  3. mysql int后面的数字_mysql中整数类型后面的数字,比如int(11),11代表11个字节吗?...

    原先对mysql不太理解,但也没有报错.但理解的不够深入.这次补上. 原来以为int(11)是指11个字节,int(10)就是10个字节.我错了. http://zhidao.baidu.com/li ...

  4. mysql常规索引有哪些_mysql常见索引类型有哪些

    mysql常见索引类型有:1.FULLTEXT:2.HASH:3.BTREE:4.RTREE.FULLTEXT为全文索引,目前只有MyISAM引擎支持.HASH索引可以一次定位,因此具有极高的效率. ...

  5. ext如何将值存入变量_变量类型之值类型与引用类型

    前言 变量类型在我们日常开发中经常接触到,但是js中的变量类型与其他强类型语言不同,由于js是弱类型语言,因此他的变量拷贝在我们实际的日常开发中有很多需要注意的项.而半斤在最近的开发中遇到了很多匪夷所 ...

  6. mysql定义条件和处理_MySQL定义条件和处理程序

    在程序的运行过程中可能会遇到问题,此时我们可以通过定义条件和处理程序来事先定义这些问题. 定义条件是指事先定义程序执行过程中遇到的问题,处理程序定义了在遇到这些问题时应当采取的处理方式和解决办法,保证 ...

  7. MySQL定义条件和处理程序_MySQL教程111-MySQL定义条件和处理程序

    在程序的运行过程中可能会遇到问题,此时我们可以通过定义条件和处理程序来事先定义这些问题. 定义条件是指事先定义程序执行过程中遇到的问题,处理程序定义了在遇到这些问题时应当采取的处理方式和解决办法,保证 ...

  8. mysql文件导出NULL值处理_Mysql select into outfile NULL值导出的处理方法

    目录 1简介... 1 2 准备... 1 2.1 环境说明... 1 3 安装... 2 4 配置... 2 5 使用... 2 5.1 验证实验... 2 5.2 问题分析... 4 6 延展.. ...

  9. mysql sql查询json数据_mysql如何查询json的值

    mysql查询json的值的方法:首先打开命令窗口:然后执行SQL语句"SELECT REPLACE(json_extract(push_data,'$.carRenewalInfoVo.l ...

  10. mysql case设固定值_MySQL CASE语句将自定义值放置为NULL

    让我们首先创建一个表-mysql> create table DemoTable ( FirstName varchar(20) ); 使用插入命令在表中插入一些记录-mysql> ins ...

最新文章

  1. 区块链架构下 智慧城市发展加速
  2. 十万浙企上云 阿里云崛起的最大征候?
  3. wince系统改安卓系统_什么是实时操作系统(RTOS)
  4. GoAhead 2.5 Web Server 网页ROM化的改进
  5. Hibernate陷阱
  6. matlab建立的发动机的模型,基于MATLAB∕Simulink的摩托车发动机仿真模型建立.pdf
  7. html1怎样插入视频,HTML视频教程,第1章 HTML初识
  8. 机器学习代码实战——SVM(支持向量机)(使用不同核函数)
  9. 区块链+”来了,区块链金融将如何颠覆传统金融
  10. 【JSP售票系统】JSP+SSH+MSSQL火车票铁路售票系统源码
  11. xd文件用Creative Cloud下载与安装打开
  12. 各大主要城市五险一金及税后工资计算器
  13. PS 之用钢笔工具画曲线图
  14. 如何运行element ui
  15. 发那科2021参数_FANUC常用参数
  16. 关于opencv打开摄像头黑屏的问题
  17. Xilinx FPGA等效门数计算
  18. c语言微信昵称大全女生,微信名字大全女生可爱
  19. 美团:后端开发工程师(实习生)面试
  20. twitter要我绑定手机_Twitter我的糖尿病

热门文章

  1. 编译原理实验三 自下而上语法分析
  2. 逍遥叹歌词--《仙剑奇侠传》
  3. CRT查看日志中文乱码问题
  4. 以太坊教程- Web3.js 开发基础
  5. 盗贼之海显示无法连接服务器,盗贼之海网络连接不上怎么解决
  6. 在Ubuntu 14.04上安装了tfp和tftp服务
  7. 【英语写作】以亚太杯为例
  8. vue项目打包后index.html文件打开空白
  9. [内附完整源码和文档] 基于Java的航空售票管理系统
  10. vue中带参数的请求路径