问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Mysql中设置小数点用什么数据类型 decimal

发布网友 发布时间:2022-04-22 10:28

我来回答

5个回答

热心网友 时间:2022-04-09 07:17

mysql中小数点用decimal(x,y)进行存储,

示例如下,

1、创建测试表,create table test_decimal(id int, fee_value decimal(20,3));

2、插入测试数据,

insert into test_decimal values(1,12.2);

insert into test_decimal values(3,33.789);

insert into test_decimal values(6666,555.332);

3、查询表中所有记录,select * from test_decimal t;

4、小数转整,可以用floor或round函数,select t.*, floor(fee_value) as fee1, round(fee_value) fee2 from test_decimal t;

热心网友 时间:2022-04-09 08:35

同事问MySQL数据类型DECIMAL(N,M)中N和M分别表示什么含义,M不用说,显然是小数点后的小数位数,但这个N究竟是小数点之前的最大位数,还是加上小数部分后的最大位数?这个还真记不清了。于是乎,创建测试表验证了一番,结果如下:
测试表,seller_cost字段定义为decimal(14,2)
CREATE TABLE `test_decimal` (
`id` int(11) NOT NULL,
`seller_cost` decimal(14,2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf81234

起初,表中内容为空
mysql> select * from test_decimal;
Empty set (0.00 sec)12

插入整数部分长度为14的数字,报超出列范围的错误
mysql> insert into test_decimal(id,seller_cost) values(1,12345678901234);
ERROR 1264 (22003): Out of range value for column 'seller_cost' at row 112

插入整数部分长度为12的数字,可以正确插入

热心网友 时间:2022-04-09 10:10

Decimal(n,m)表示数值*有n位数,其中整数n-m位,小数m位。例:decimal(10,6),数值*有10位数,其中整数占4位,小数占6位。
例:decimal(2,1),此时,插入数据“12.3”、“12”等会出现“数据溢出错误”的异常;插入“1.23”或“1.2345...”会自动四舍五入成“1.2”;插入“2”会自动补成“2.0”,以确保2位的有效长度,其中包含1位小数。

p (有效位数)
可储存的最大十进位数总数,小数点左右两侧都包括在内。有效位数必须是 1 至最大有效位数 38 之间的值。预设有效位数是 18。
s (小数位数)
小数点右侧所能储存的最大十进位数。小数位数必须是从 0 到 p 的值。只有在指定了有效位数时,才能指定小数位数。预设小数位数是 0;因此,0 <= s <= p。最大储存体大小会随著有效位数而不同。

热心网友 时间:2022-04-09 12:01

要求精度高就用decimal

审题错了...
简单写下区别:
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)
double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)
decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)

numberic === decimal

float f = 345.98756f;//结果显示为345.9876,只显示7个有效位,对最后一位数四舍五入。
double d=345.975423578631442d;//结果显示为345.975423578631,只显示15个有效位,对最后一位四舍五入。
注:float和double的相乘操作,数字溢出不会报错,会有精度的损失。
decimal dd=345.545454879.....//可以支持28位,对最后一位四舍五入。
注:当对decimal类型进行操作时,数值会因溢出而报错。

热心网友 时间:2022-04-09 14:09

用decimal,精度高
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哪里有好的软装素材下载啊 ...图片资源,软装产品,漫画风地图生成,3d模型网站) 软装还有哪些app 软装素材网站有哪些 软装素材上什么网上找 ipad涂色游戏推荐 适合小孩子玩的十大游戏排行 美女变野兽游戏安卓APK 小姐姐竞技场游戏安卓游戏如何下载 最高配置的电脑价格外星人台式电脑最高配置是什么现在大概多少钱_百 ... ...版的显卡,可电脑里却显示ATI radeon9600/X1050 series, mysql里面的东西都是做什么用的 mysql怎么修改一个里的多个字段内容? mysql 数据类型的详解 mysql 四舍五入函数,小数是5不入? mysql 某列的数字四舍五入语句 mysql四舍五入 如何实现MySQL四舍五入 支付宝里面的那个相互宝怎么加入怎么退出 支付宝里的相互宝是怎么个形式,值得加入么? 相互宝公共交通意外互助计划是骗人的吗? 熏肉怎么吃 分享熏肉怎的三种吃法 芹菜蒜炒腊肉怎么做好吃,芹菜蒜炒腊肉的家常做法 烟熏肉炒蒜苗的做法,烟熏肉炒蒜苗怎么做好吃 蒜苗炒熏肉的家常做法大全怎么做好吃视频 蒜苗炒熏肉的做法步骤图,蒜苗炒熏肉怎么做 蒜头炒腊肉的做法,蒜头炒腊肉怎么做好吃,蒜头 腊肉炒大蒜的做法,腊肉炒大蒜怎么做好吃,腊肉 大蒜炒腊肉的做法: 熏肉怎么炒的好吃? 腊肉炒大蒜的做法 MySQL白菜教程(Level 3) mysql中float用什么类型 mysql有哪些数据类型 请教MYSQL四舍五入的问题 MySQL中ROUND和TRUNCATE的区别 mysql类型 mysql对小数格式化 mysql去掉小数取整(不是四舍五入),该怎么处理 mysql中要存储小数用什么类型数据好? MySQL中Decimal类型和Float Double的区别 《炎月战记》最新txt全集下载 龙之谷破晓奇兵莉雅的衣服是什么 龙之谷破晓奇兵莉雅的胸被谁袭,有图吗? 从零开始异世界生活圣域篇是最后一篇吗 精灵王座里的莉雅跟破晓奇兵里的莉雅有什么区别吗? 求龙之谷破晓奇兵中精灵莉雅的高清图!越多越好! 克利翁名媛舞会的挑选规则 暗黑破坏神3对话成就怎么做 暗黑3谈话的艺术成就攻略 服务器光模块不装有什么影响 服务器光模块和交换机光模块通用吗