mysql存小数
来源:互联网 发布:php画等腰三角形星星 编辑:程序博客网 时间:2024/05/29 05:58
最近做一个报表,有个字段保存money,涉及到小数,没有多想就将数据库字段设置成了float,等查询出来,乖乖,真正的值后面加了一坨随机数字,太呕吐了,查了点资料,将该字段格式改成了decimal(10,1),就ok了。
例如,语句FLOAT (5,2)规定显示的值不会超过5位数字,小数点后面带有2位数字。
对于小数点后面的数字个数超过了允许的数目的值,系统会自动将它四舍五入为最接近它的值,然后插入它。
mysql> create table data(price float(5,2));
Query OK, 0 rows affected
mysql> insert into data values (13.6),(876.90),(-5.2),(-123.456);
Query OK, 4 rows affected
Records: 4 Duplicates: 0 Warnings: 0
mysql> select * from data;
+---------+
| price |
+---------+
| 13.6 |
| 876.9 |
| -5.2 |
| -123.46 |
+---------+
4 rows in set
DECIMAL 数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计 数方法表示小数点后数字的个数。例如,语句DECIMAL (5,2)规定了存储的值将不会超过5位数字,开且小数点后面有2位数字。
MySQL在内部把DECIMAL数据类型存储为字符串,更精确地保留它们的值。
mysql> create table data_8(bad decimal(6,3));
Query OK, 0 rows affected
mysql> insert into data_8 values (1);
Query OK, 1 row affected
mysql> select * from data_8;
+-----+
| bad |
+-----+
| 1.000
+-----+
1 row in set
忽略DECIMAL数据类型的精确度和计数方法修饰符将会使MySQL把所有标识为这个类型的字段的精确度默认为10,计算方法默认为0
mysql> create table data_9 (test decimal
);
Query OK, 0 rows affected
mysql> desc data_9;
+-------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| test | decimal(10,0) | YES | | NULL | |
+-------+---------------+------+-----+---------+-------+
1 row in set
- mysql存小数
- mysql 存小数用decimal
- mysql 小数
- 小数在内存中的存储表示
- 小数在内存中的存储表示
- 小数在内存中的存储表示
- 小数在内存中的存储方式
- mysql格式化小数
- mysql格式化小数
- MySql 小数型
- mySQL 截取小数
- mysql之内存表
- mysql存过学习
- Mysql存中文问题解决
- mysql 存 binary/blob
- mysql不能存汉字
- Excel 数据 存 MySQL
- jsp页面的字段要求:存整数、存二位小数等
- 序列化二叉树
- linux下ftp服务器搭建
- CVPR 2017-02-13
- C++ STL 源码分析
- Java 操作符
- mysql存小数
- strus2+spring+hibernate+maven+注解开发 整合加上实现登录模块
- art mac air 使用优盘安装windows7
- php中class类中的详细用法
- UVA 11214 Guarding the Chessboard(回溯)
- IplImage 截取感兴趣的部分 ROI函数---显示整个图片但是对ROI 区域特别处理
- YARN、Spark、Hive使用kerberos
- 【H5】HTML5本地存储之Web Storage篇
- rac下查看scanip 在哪个节点上