Heim > Datenbank > MySQL-Tutorial > mysql decimal_MySQL

mysql decimal_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 13:29:20
Original
1235 Leute haben es durchsucht

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 
Nach dem Login kopieren

# 在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)); 
Nach dem Login kopieren

2、插入数据

代码如下

insert into ta (a,b) values(1,12345.123423); 
Nach dem Login kopieren

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

代码如下

insert into ta (a,b) values(1,123456.1234); 
Nach dem Login kopieren

 

 

 

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

 

结论:decimal数据类型, 

 

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

 

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

bitsCN.com
Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage