首页 数据库 mysql教程 mysql decimal_MySQL

mysql decimal_MySQL

Jun 01, 2016 pm 01:29 PM
double Money

bitsCN.com

mysql decimal

 

首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,

 

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

 

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

 

·         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) 

 

 

代码如下  

 

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) 的取值范围。

还有一种数据类型也是比较棒的: 那就是LongBlob,这种数据类型可以直接把图像文件存到数据库中!

笔者,最近在研究mysql的decimal数据类型,现把数据实验结果公布如下

数据库版本:Server version: 5.0.45 Source distribution

1、创建表结构

代码如下

create table ta (a float,b decimal(10,5)); 
登录后复制

2、插入数据

代码如下

insert into ta (a,b) values(1,12345.123423); 
登录后复制

实际插入的b列数据为:12345.12342

代码如下

insert into ta (a,b) values(1,123456.1234); 
登录后复制

 

 

 

实际插入的b列数据为:99999.99999 

 

结论:decimal数据类型, 

 

1、当插入的整数部分的值超过了其表示范围后就直接忽略了小数部分的值,并以最大值填充。 

 

2、当整数部分合法,小数部分多余的位数,直接截断。

bitsCN.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

C++程序将double类型的变量转换为int类型 C++程序将double类型的变量转换为int类型 Aug 25, 2023 pm 08:25 PM

在C++中,int类型的变量只能保存正整数或负整数值;它们不能保存小数值。有float和double值可用于此目的。为了存储小数点后最多七位的小数,创建了双精度数据类型。整数到双精度数据类型的转换可以由编译器自动完成(称为“隐式”转换),也可以由程序员向编译器显式请求(称为“显式”转换)。在接下来的部分中,我们将介绍各种转换方法。隐式转换编译器自动执行隐式类型转换。要实现这一点,需要两个变量——一个是浮点类型,另一个是整数类型。当我们简单地将浮点值或变量分配给整数变量时,编译器将处理所有其他事情

double占几个字节 double占几个字节 Dec 25, 2020 am 10:36 AM

double占的字节:1、16位编译器下,double占8个字节;2、32位编译器下,double占8个字节;3、64位编译器下,double占8个字节。

float和double有什么区别 float和double有什么区别 Oct 11, 2023 pm 05:38 PM

float和double区别主要在于精度、存储和计算速度、范围以及在编程语言中的使用。详细介绍:1、精度不同,Float是单精度浮点数,占用4个字节(32位),而double是双精度浮点数,占用8个字节(64位);2、存储和计算速度不同,double占用的空间更大,需要更多的存储空间来存储数值,在需要高性能和速度的应用程序中,使用float类型可能会更加高效;3、范围不同等等。

如何使用Double类的isInfinite()方法判断一个数是否为无穷小 如何使用Double类的isInfinite()方法判断一个数是否为无穷小 Jul 26, 2023 am 11:04 AM

如何使用Double类的isInfinite()方法判断一个数是否为无穷小无穷小是数学中的概念,用来表示一个数接近于零但不等于零。在计算机编程中,我们常常需要判断一个数是否为无穷小。Java的Double类提供了isInfinite()方法,可以判断一个数是否为无穷小。本文将介绍如何使用Double类的isInfinite()方法判断一个数是否为无穷小,并给

Java文档解读:Double类的valueOf()方法功能解析 Java文档解读:Double类的valueOf()方法功能解析 Nov 04, 2023 am 10:55 AM

Java文档解读:Double类的valueOf()方法功能解析,需要具体代码示例引言:在Java开发中,经常会涉及到数字类型的转换和操作。而Double类是Java中的一个封装类,提供了一些实用的方法来处理双精度浮点数操作。其中,valueOf()方法是Double类中的一个重要方法,本文将对该方法进行功能解析,并提供具体的代码示例帮助读者更好地理解。一、

如何使用Double类的isPositiveInfinity()方法判断一个数是否为正无穷大 如何使用Double类的isPositiveInfinity()方法判断一个数是否为正无穷大 Jul 24, 2023 pm 07:57 PM

如何使用Double类的isPositiveInfinity()方法判断一个数是否为正无穷大介绍在Java编程中,我们经常需要对数值进行一些判断和处理。有时候我们需要判断一个数是否为正无穷大。Java的Double类提供了一个isPositiveInfinity()方法,可以用来判断一个数是否为正无穷大。本文将介绍如何使用这个方法以及一些相关的注意事项。Do

Java Iterator 与 Iterable:提升你对 Java 集合的理解 Java Iterator 与 Iterable:提升你对 Java 集合的理解 Feb 19, 2024 pm 06:20 PM

集合可以分为两类:有序集合和无序集合。有序集合中的数据项按照一定的顺序排列,无序集合中的数据项则没有固定的顺序。Java集合框架提供了丰富的集合类,这些集合类可以方便地存储和管理数据。Java集合框架中常用的集合类包括:List:列表集合,有序集合,支持重复元素。Set:集合,无序集合,不支持重复元素。Map:字典集合,无序集合,键值对存储。理解集合的概念和类型。掌握集合类的使用。能够使用集合类来存储和管理数据。理解集合的概念和类型。掌握集合类的使用。能够使用集合类来存储和管理数据。理解集合的概

Java文档解读:Double类的compare()方法功能解析 Java文档解读:Double类的compare()方法功能解析 Nov 04, 2023 pm 12:25 PM

Java文档解读:Double类的compare()方法功能解析Double类是Java中用于表示双精度浮点数(64位)的包装类。它提供了一系列方法来进行数字的操作和比较。其中一个常用的方法是compare(),它用于比较两个Double对象的值。本文将对Double类的compare()方法进行详细解析,并提供相应的代码示例来帮助读者更好地理解其功能和使用

See all articles