mysql 金额_Mysql中金额使用DECIMAL类型
MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型。
其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值。
对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,numeric将自动转成decimal。
DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下:
·M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认值是10。
·D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。
举例:DECIMAL(5,3)
1.2345 — 小数点后最多3位,所以保存可以,自动四舍五入数据截断。
12.345 — OK
123.45 — 因为小数部分未满3位,要补0.所以保存应该123.450。所以整个位数超出了5,保存不可。
1.2 — 小数未满部分补0。按照1.200保存。
-> 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)
mysql 金额_Mysql中金额使用DECIMAL类型相关推荐
- mysql numeric 区别_Mysql中NUMERIC和DECIMAL类型区别比较
decimal(numeric ) 同义,用于精确存储数值 . decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边.decimal 数据类型存储了一个准确(精确)的数字表 ...
- mysql float 怎么设置长度_MySQL中float double decimal区别总结
作者:极客小俊 一个专注于web技术的80后 你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人! 下表中规划了每个浮点类型的存储大小和范围: 类型大小范围(有符号)范围(无符号)用途fl ...
- mysql数字_MySQL 中的数字类型
MySQL 中数据类型常用的就三大类: 数字类型/numeric types 日期和时间/date and time types 字符类型/string (character and byte) ty ...
- mysql中所有时间类型_MySQL 中的日期时间类型
INSERT INTO todo (title,created_on) VALUES ('blah','2019-09-31'); ERROR 1292 (22007): Incorrect date ...
- mysql根据时间回退_MySQL 中的日期时间类型
日期时间类型中包含以下几种数据类型: 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0.TIMESTAMP 类型是个例外,给它设置一个超出范围的值时,将保存上该类型允许的最大值 ...
- mysql 5.7日志的种类_MySQL中的六种日志类型的介绍
MySQL主要有以下几种日志类型: 错误日志――MySQL服务启动和关闭过程中的信息以及其它错误和警告信息.默认在数据目录下. 一般查询日志――用于记录select查询语句的日志.general_lo ...
- mysql timestamp json_mysql中timestamp,datetime,int类型的区别与优劣
mysql中timestamp,datetime,int类型的区别与优劣 int 1. 占用4个字节 2. 建立索引之后,查询速度快 3. 条件范围搜索可以使用使用between 4. 不能使用mys ...
- mysql 互斥_MySql中互斥量mutex的实现
数据库中的Mutex量指的是一种用于保护一些临界资源的使用的信号量.当有线程需要使用这些临界资源时,会请求获得mutex量,请求成功的线程进入临界区,而请求失败的线程只能等待它释放这个mutex.互斥 ...
- mysql 互斥_Mysql 中互斥锁的使用
本文介绍如在在多线程mysql代码开发中使用互斥锁. mysql自己对c++的mutex又进行了一次封装,封装的代码可以在include/mysql/psi/mysql_thread.h 中找到. ...
最新文章
- shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决
- python3最新稳定版本-python稳定版本
- WKWebview 的使用及坑
- 致远协同软件手机版让移动办公不再是梦想
- 软件工厂是否真的可能存在?
- 不会Git怎么当程序员?十分钟包你会
- (12)Node.js核心模块fs—实现文件复制和压缩
- Java并发编程实践笔记(一)
- MFC中将view内容保存为bmp
- imooc数据结构探险-栈篇 栈应用括号匹配二 由群友启发改良james_yuan老师算法
- 通信系统中各网络设备时间同步要求
- python大作业 课设
- 《C++ primer 》 猎豹网校 函数模板 2018/10/9
- 八人抢答器讲解_八人抢答器PLC控制系统设计(最终版)最新版
- worder字体网页字体对照表
- 尝试 Nitrux 系统的六大理由
- (转)s3c6410 开发板Linux系统支持 K9GAG08U0E的方法
- 凸优化理论基础3——凸集和凸锥重要例子
- mysql读取股票数据_读取股票数据存储到本地MySQL数据库(一)
- 百度网盘网页端设置倍速播放