MySQL数值类型——FLOAT、DOUBLE和DECIMAL类型
2011-05-23 18:37
1116 查看
MySQL支持的三个浮点类型是FLOAT、DOUBLE和DECIMAL类型。FLOAT数值类型用于表示单精度浮点数值,而DOUBLE数值类型用于表示双精度浮点数值。
与整数类型一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。例如,语句FLOAT (5,2)规定显示的值不会超过5位数字,小数点后面带有2位数字。看下面的示范举例:
对于小数点后面的数字个数超过了允许的数目的值,系统会自动将它四舍五入为最接近它的值,然后插入它。下面的例子演示了这一点:
DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。例如,语句DECIMAL (5,2)规定了存储的值将不会超过5位数字,开且小数点后面有2位数字。看下面的示范举例:
![](http://www.xuekaifa.com/img/2010/0920/3246ce7d.jpg)
MySQL在内部把DECIMAL数据类型存储为字符串,更精确地保留它们的值。
忽略DECIMAL数据类型的精确度和计数方法修饰符将会使MySQL把所有标识为这个类型的字段的精确度默认为10,计算方法默认为0:
![](http://www.xuekaifa.com/img/2010/0920/9b818a17.jpg)
UNSIGNED和ZEROFILL修饰符也可以被FLOAT、DECIMAL和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位数字。看下面的示范举例:
![](http://www.xuekaifa.com/img/2010/0920/3246ce7d.jpg)
MySQL在内部把DECIMAL数据类型存储为字符串,更精确地保留它们的值。
忽略DECIMAL数据类型的精确度和计数方法修饰符将会使MySQL把所有标识为这个类型的字段的精确度默认为10,计算方法默认为0:
![](http://www.xuekaifa.com/img/2010/0920/9b818a17.jpg)
UNSIGNED和ZEROFILL修饰符也可以被FLOAT、DECIMAL和DOUBLE数据类型接受,它们的结果和前一节中描述的一样。
相关文章推荐
- MySQL类型float double decimal的区别
- MySQL中的float、double和decimal类型
- MySQL类型float double decimal的区别
- MySQL类型float double decimal的区别
- MySQL中Decimal类型和Float Double等区别
- MySQL中的float和decimal类型float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,
- MySQL中Decimal类型和Float Double等区别
- MySQL类型float double decimal的区别
- MySQL float,double,decimal数据类型区别
- MYSQL中的FLOAT、DOUBLE和DECIMAL类型
- MySQL类型float double decimal的区别
- MySQL中Decimal类型和Float Double的区别(详解)
- MySQL中Decimal类型和Float Double等区别
- MySQL中Decimal类型和Float Double等区别
- Sql的decimal、float、double类型的区别
- Java中,既然double类型比float类型,表示的数值范围更大,大家都用double类型不就行了,Java还发明float类型干什么?因为占内存少于double,其他没有任何优势了
- float与double类型的四种特殊的数值
- mysql 中 float double decimal 区别
- [转]float,double和decimal类型
- mysql float double 类型