MySQL中Decimal类型和Float Double等区别
来源:互联网 发布:ubuntu 16.04磁盘分区 编辑:程序博客网 时间:2024/05/11 19:29
MySQL中存在float,double等非标准数据类型,
也有decimal这种标准数据类型。
其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值。
数据定义
float(M,S) M为全长,S为小数点后长度。对于不精准的例子,网络上很多,Copy如下:
mysql> create table t1(c1 float(10,2), c3 decimal(10,2));
Query OK, 0 rows affected (0.02 sec)
mysql> insert into t1 values(9876543.21, 9876543.12);
Query OK, 1 row affected (0.00 sec)
mysql> select * from t1;
+------------+------------+
| c1 | c3 |
+------------+------------+
| 1234567.25 | 1234567.23 |
| 9876543.00 | 9876543.12 |
+------------+------------+
2 rows in set (0.00 sec)
再举例: DECIMAL(5,3)
1.2345 --- 小数点后最多3位,所以保存可以,自动四舍五入数据截断。
12.345 --- OK
123.45 --- 因为小数部分未满3位,要补0.所以保存应该123.450。所以整个位数超出了5,保存不可。
1.2 --- 小数未满部分补0。按照1.200保存。
mysql> CREATE TABLE IF NOT EXISTS `decimal_test`(
-> num DECIMAL(5,3)
-> );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO `decimal_test`(num) VALUES(1.2345);
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> INSERT INTO `decimal_test`(num) VALUES(12.345);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `decimal_test`(num) VALUES(123.45);
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> INSERT INTO `decimal_test`(num) VALUES(1.2);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM `decimal_test`;
+--------+
| num |
+--------+
| 1.235 |
| 12.345 |
| 99.999 | 没有正常保存
| 1.200 | 末尾未满补0
+--------+
4 rows in set (0.00 sec)
0 0
- MySQL中Decimal类型和Float Double等区别
- MySQL中Decimal类型和Float Double等区别
- float,double和decimal类型区别
- MYSQL中的FLOAT、DOUBLE和DECIMAL类型
- MySQL中的float、double和decimal类型
- mysql float double decimal 区别
- float,double和decimal类型
- float,double和decimal类型
- float,double和decimal类型
- float,double和decimal类型
- MySQL数值类型——FLOAT、DOUBLE和DECIMAL类型
- Sql中decimal、float、double类型的区别与用法
- mysql中decimal,numeric,double,float的区别
- MySQL float,double,decimal数据类型区别
- numeric,decimal,float和double类型
- mysql float和double类型的区别
- c#中decimal ,double,float的区别
- c#中decimal ,double,float的区别
- mysql命令行修改字符编码
- windows下循环创建目录
- 保护Windows XP系统帐户安全三绝招
- oracle 定时执行存储过程
- ThinkPad E531 找不到蓝牙设备问题的解决
- MySQL中Decimal类型和Float Double等区别
- 工作两年多的感悟
- 的调控的调控月
- 用Xcode6创建一个新的工程
- 收藏 23个MySQL常用查询语句
- LeetCode Two Sum III - Data structure design
- java文件和文件夹复制、删除、移动操作
- 【Android】 常用的Intent
- 让Windows XP启动时间大幅度缩短